On Fri, Jun 20, 2014 at 04:34:19PM +0200, Manuel Giraud wrote:
> +     lbuf = NULL;
> +     while ((buf = fgetln(fp, &len))) {
> +             if (buf[len - 1] == '\n') {
> +                     if (len == 1) 
> +                             continue;
> +                     buf[len - 1] = '\0';
> +             } else {
> +                     len++;
> +                     if ((lbuf = malloc(len)) == NULL)
> +                             err(1, NULL);
> +                     memcpy(lbuf, buf, len - 1);
> +                     lbuf[len - 1] = '\0';
> +                     buf = lbuf;
> +             }

What is the rational behind checking for len == 1 in '\n'
case, but not for "last line without new line"?

If you want to skip empty lines, you should check after
the if/else-block for buf[0] == '\0', imho.


Tobias

Reply via email to