diff options
author | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2020-05-30 21:32:05 +0200 |
---|---|---|
committer | Rafael G. Martins <rafael@rafaelmartins.eng.br> | 2020-05-30 21:37:00 +0200 |
commit | c3b9af3831762d7548eb1e72cfb62ab95e0d8490 (patch) | |
tree | 9f63251e8e665ee798972832f26b1baf1c0a7ec3 /src/common | |
parent | 9a3629921b250e7079be9abb5252381025c33354 (diff) | |
download | blogc-c3b9af3831762d7548eb1e72cfb62ab95e0d8490.tar.gz blogc-c3b9af3831762d7548eb1e72cfb62ab95e0d8490.tar.bz2 blogc-c3b9af3831762d7548eb1e72cfb62ab95e0d8490.zip |
common: bc_stdin_read() should set read length
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/stdin.c | 6 | ||||
-rw-r--r-- | src/common/stdin.h | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/common/stdin.c b/src/common/stdin.c index a460247..c4bf746 100644 --- a/src/common/stdin.c +++ b/src/common/stdin.c @@ -14,11 +14,15 @@ // splitted in single file to make it easier to test char* -bc_stdin_read(void) +bc_stdin_read(size_t *len) { + if (len == NULL) + return NULL; + int c; bc_string_t *rv = bc_string_new(); while (EOF != (c = fgetc(stdin))) bc_string_append_c(rv, c); + *len = rv->len; return bc_string_free(rv, false); } diff --git a/src/common/stdin.h b/src/common/stdin.h index e6bd7a0..be99922 100644 --- a/src/common/stdin.h +++ b/src/common/stdin.h @@ -9,6 +9,8 @@ #ifndef _STDIN_H #define _STDIN_H -char* bc_stdin_read(void); +#include <stddef.h> + +char* bc_stdin_read(size_t *len); #endif /* _STDIN_H */ |