aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorRafael G. Martins <rafael@rafaelmartins.eng.br>2020-05-30 21:32:05 +0200
committerRafael G. Martins <rafael@rafaelmartins.eng.br>2020-05-30 21:37:00 +0200
commitc3b9af3831762d7548eb1e72cfb62ab95e0d8490 (patch)
tree9f63251e8e665ee798972832f26b1baf1c0a7ec3 /src/common
parent9a3629921b250e7079be9abb5252381025c33354 (diff)
downloadblogc-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.c6
-rw-r--r--src/common/stdin.h4
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 */