pkt-line: teach packet_read_line to chomp newlines
[gitweb.git] / pkt-line.c
index 8700cf8add94507c67959f1939b9710a7d5cbf52..dc11c407cd8513d423356d16c1b5b0f929264a39 100644 (file)
@@ -164,6 +164,11 @@ int packet_read(int fd, char *buffer, unsigned size, int options)
        ret = safe_read(fd, buffer, len, options);
        if (ret < 0)
                return ret;
+
+       if ((options & PACKET_READ_CHOMP_NEWLINE) &&
+           len && buffer[len-1] == '\n')
+               len--;
+
        buffer[len] = 0;
        packet_trace(buffer, len, 0);
        return len;
@@ -171,7 +176,7 @@ int packet_read(int fd, char *buffer, unsigned size, int options)
 
 int packet_read_line(int fd, char *buffer, unsigned size)
 {
-       return packet_read(fd, buffer, size, 0);
+       return packet_read(fd, buffer, size, PACKET_READ_CHOMP_NEWLINE);
 }
 
 int packet_get_line(struct strbuf *out,