Created
November 20, 2013 12:46
-
-
Save tony2001/7562578 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/libangel_buf.c b/src/libangel_buf.c | |
index 2bf7a97..4bc3e01 100644 | |
--- a/src/libangel_buf.c | |
+++ b/src/libangel_buf.c | |
@@ -175,7 +175,7 @@ void libangel_buf_discard_all(struct libangel_buf_chain_s *bc) | |
} | |
} | |
-int libangel_buf_enlarge(struct libangel_buf_chain_s *bc, struct libangel_buf_s *b, size_t more) | |
+struct libangel_buf_s *libangel_buf_enlarge(struct libangel_buf_chain_s *bc, struct libangel_buf_s *b, size_t more) | |
{ | |
struct libangel_buf_s *old_b; | |
size_t in_offset, out_offset, new_buf_size; | |
@@ -188,7 +188,7 @@ int libangel_buf_enlarge(struct libangel_buf_chain_s *bc, struct libangel_buf_s | |
b = realloc(b, sizeof(struct libangel_buf_s) + new_buf_size); | |
if (!b) { | |
- return -1; | |
+ return NULL; | |
} | |
b->buf = b->in = b->out = (char *)b + sizeof(struct libangel_buf_s); | |
@@ -206,6 +206,6 @@ int libangel_buf_enlarge(struct libangel_buf_chain_s *bc, struct libangel_buf_s | |
if (bc->in == old_b) { | |
bc->in = b; | |
} | |
- return 0; | |
+ return b; | |
} | |
diff --git a/src/libangel_conn_inbuf.c b/src/libangel_conn_inbuf.c | |
index 0922a17..f00423e 100644 | |
--- a/src/libangel_conn_inbuf.c | |
+++ b/src/libangel_conn_inbuf.c | |
@@ -327,7 +327,8 @@ retry_take: | |
} | |
/* enlarge your buffer! */ | |
- if (0 > libangel_buf_enlarge(bc, b, more)) { | |
+ b = libangel_buf_enlarge(bc, b, more); | |
+ if (!b) { | |
inbuf->out_closed = 1; | |
inbuf->closed_with_errno = LIBANGEL_ERROR; | |
inbuf->setup.closed(c); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment