summaryrefslogtreecommitdiff
path: root/xs_io.h
diff options
context:
space:
mode:
Diffstat (limited to 'xs_io.h')
-rw-r--r--xs_io.h30
1 files changed, 11 insertions, 19 deletions
diff --git a/xs_io.h b/xs_io.h
index 1379a34..9649484 100644
--- a/xs_io.h
+++ b/xs_io.h
@@ -4,31 +4,13 @@
4 4
5#define _XS_IO_H 5#define _XS_IO_H
6 6
7d_char *xs_readall(FILE *f);
8d_char *xs_readline(FILE *f); 7d_char *xs_readline(FILE *f);
9d_char *xs_read(FILE *f, int *size); 8d_char *xs_read(FILE *f, int *size);
9d_char *xs_readall(FILE *f);
10 10
11 11
12#ifdef XS_IMPLEMENTATION 12#ifdef XS_IMPLEMENTATION
13 13
14d_char *xs_readall(FILE *f)
15/* reads the rest of the file into a string */
16{
17 d_char *s;
18 char tmp[1024];
19
20 errno = 0;
21
22 /* create the new string */
23 s = xs_str_new(NULL);
24
25 while (fgets(tmp, sizeof(tmp), f))
26 s = xs_str_cat(s, tmp);
27
28 return s;
29}
30
31
32d_char *xs_readline(FILE *f) 14d_char *xs_readline(FILE *f)
33/* reads a line from a file */ 15/* reads a line from a file */
34{ 16{
@@ -93,6 +75,16 @@ d_char *xs_read(FILE *f, int *sz)
93 return s; 75 return s;
94} 76}
95 77
78
79d_char *xs_readall(FILE *f)
80/* reads the rest of the file into a string */
81{
82 int size = 0xfffffff;
83
84 return xs_read(f, &size);
85}
86
87
96#endif /* XS_IMPLEMENTATION */ 88#endif /* XS_IMPLEMENTATION */
97 89
98#endif /* _XS_IO_H */ 90#endif /* _XS_IO_H */