Browse Source

strbuf: use _rtrim and _ltrim in strbuf_trim

strbuf_trim() strips whitespace from the end, then the beginning of
a strbuf.  Those operations are duplicated in strbuf_rtrim() and
strbuf_ltrim().

Replace strbuf_trim() implementation with calls to strbuf_rtrim(),
then strbuf_ltrim().

Signed-off-by: Brian Gesiak <modocache@gmail.com>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Brian Gesiak 11 years ago committed by Junio C Hamano
parent
commit
3bb55e8aa8
  1. 11
      strbuf.c

11
strbuf.c

@ -78,15 +78,8 @@ void strbuf_grow(struct strbuf *sb, size_t extra)


void strbuf_trim(struct strbuf *sb) void strbuf_trim(struct strbuf *sb)
{ {
char *b = sb->buf; strbuf_rtrim(sb);
while (sb->len > 0 && isspace((unsigned char)sb->buf[sb->len - 1])) strbuf_ltrim(sb);
sb->len--;
while (sb->len > 0 && isspace(*b)) {
b++;
sb->len--;
}
memmove(sb->buf, b, sb->len);
sb->buf[sb->len] = '\0';
} }
void strbuf_rtrim(struct strbuf *sb) void strbuf_rtrim(struct strbuf *sb)
{ {

Loading…
Cancel
Save