[cdev] исправление find
Grigoriy A. Sitkarev
sitkarev на komitex.ru
Вт Мар 16 20:38:33 MSK 2010
В xgetcwd() надо локальную переменную rs инициализировать в NULL.
Исправьте пожалуйста, кто будет пользовать:
rs = NULL;
сразу после
len = 0;
вставить.
--
Г.А.
Grigoriy A. Sitkarev пишет:
> Много замечаний конечно.
> char *
> xgetcwd(void)
> {
> #define CWD_GROW_UP 32
> size_t len;
> char *rs, *s;
>
> len = 0;
>
> do {
> rs = realloc(rs, len+CWD_GROW_UP);
> if (rs == NULL) {
> fprintf(stderr, "xgetcwd: out of memory\n");
> exit(1);
> }
> len += CWD_GROW_UP;
> s = getcwd(rs, len);
> } while ((s == NULL) && (errno == ERANGE));
>
> if (s == NULL) {
> fprintf(stderr, "xgetcwd: can't get current dir: %s\n",
> strerror(errno));
> exit(1);
> }
>
> return rs;
> }
>
Подробная информация о списке рассылки cdev