[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