aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
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 */