Mercurial > dropbear
diff buffer.c @ 641:2b1bb792cd4d dropbear-tfm
- Update tfm changes to current default tip
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Mon, 21 Nov 2011 19:52:28 +0800 |
parents | 76097ec1a29a a98a2138364a |
children | 33fd2f3499d2 |
line wrap: on
line diff
--- a/buffer.c Mon Nov 21 19:19:57 2011 +0800 +++ b/buffer.c Mon Nov 21 19:52:28 2011 +0800 @@ -108,7 +108,7 @@ /* Set the length of the buffer */ void buf_setlen(buffer* buf, unsigned int len) { if (len > buf->size) { - dropbear_exit("bad buf_setlen"); + dropbear_exit("Bad buf_setlen"); } buf->len = len; } @@ -116,7 +116,7 @@ /* Increment the length of the buffer */ void buf_incrlen(buffer* buf, unsigned int incr) { if (incr > BUF_MAX_INCR || buf->len + incr > buf->size) { - dropbear_exit("bad buf_incrlen"); + dropbear_exit("Bad buf_incrlen"); } buf->len += incr; } @@ -124,7 +124,7 @@ void buf_setpos(buffer* buf, unsigned int pos) { if (pos > buf->len) { - dropbear_exit("bad buf_setpos"); + dropbear_exit("Bad buf_setpos"); } buf->pos = pos; } @@ -132,7 +132,7 @@ /* increment the postion by incr, increasing the buffer length if required */ void buf_incrwritepos(buffer* buf, unsigned int incr) { if (incr > BUF_MAX_INCR || buf->pos + incr > buf->size) { - dropbear_exit("bad buf_incrwritepos"); + dropbear_exit("Bad buf_incrwritepos"); } buf->pos += incr; if (buf->pos > buf->len) { @@ -146,7 +146,7 @@ if (incr > BUF_MAX_INCR || (unsigned int)((int)buf->pos + incr) > buf->len || ((int)buf->pos + incr) < 0) { - dropbear_exit("bad buf_incrpos"); + dropbear_exit("Bad buf_incrpos"); } buf->pos += incr; } @@ -157,7 +157,7 @@ /* This check is really just ==, but the >= allows us to check for the * bad case of pos > len, which should _never_ happen. */ if (buf->pos >= buf->len) { - dropbear_exit("bad buf_getbyte"); + dropbear_exit("Bad buf_getbyte"); } return buf->data[buf->pos++]; } @@ -187,7 +187,7 @@ unsigned char* buf_getptr(buffer* buf, unsigned int len) { if (buf->pos + len > buf->len) { - dropbear_exit("bad buf_getptr"); + dropbear_exit("Bad buf_getptr"); } return &buf->data[buf->pos]; } @@ -197,7 +197,7 @@ unsigned char* buf_getwriteptr(buffer* buf, unsigned int len) { if (buf->pos + len > buf->size) { - dropbear_exit("bad buf_getwriteptr"); + dropbear_exit("Bad buf_getwriteptr"); } return &buf->data[buf->pos]; } @@ -211,7 +211,7 @@ unsigned char* ret; len = buf_getint(buf); if (len > MAX_STRING_LEN) { - dropbear_exit("string too long"); + dropbear_exit("String too long"); } if (retlen != NULL) { @@ -225,6 +225,20 @@ return ret; } +/* Return a string as a newly allocated buffer */ +buffer * buf_getstringbuf(buffer *buf) { + buffer *ret; + unsigned char* str; + unsigned int len; + str = buf_getstring(buf, &len); + ret = m_malloc(sizeof(*ret)); + ret->data = str; + ret->len = len; + ret->size = len; + ret->pos = 0; + return ret; +} + /* Just increment the buffer position the same as if we'd used buf_getstring, * but don't bother copying/malloc()ing for it */ void buf_eatstring(buffer *buf) {