On 6/22/22 15:36, Ivan Quitschal wrote:
Hi Hans


Hi Ivan,

I think you should upload the diff at:

https://reviews.freebsd.org/differential/

Make the diff like this:

diff -u -C 999999 sys/dev/vt/vt_buf.c.orig sys/dev/vt/vt_buf.c > a.diff


I see two issues:

1) Pointer arithmetics is not so good!

                }
+               end = buf + i - 1;
+               while (end > buf && isspace((unsigned char)*end))
+               {
+                       *end = '\0';
+                       end--;
+               }
+

I think this would be better and avoid the ">" with pointers!

for (end = buf + i; end-- != buf; ) {
   if (isspace((unsigned char)*end) == false)
        break;
   *end = '\0';
}

Can you explain this:

-                       buf[i++] = '\r';
+                       buf[i] = '\r';
                        buf[i++] = '\n';

'\r' character is now overwritten by '\n' character.

--HPS

Reply via email to