diff options
| author | 2022-09-28 09:29:09 +0200 | |
|---|---|---|
| committer | 2022-09-28 09:29:09 +0200 | |
| commit | a636cf8b25d72900892b18191e0d68de10779e90 (patch) | |
| tree | dd2fa86101259a499713d810db7d360d25f27aa3 /xs_io.h | |
| parent | Delete dangling local timeline entry in timeline_admire(). (diff) | |
| download | snac2-a636cf8b25d72900892b18191e0d68de10779e90.tar.gz snac2-a636cf8b25d72900892b18191e0d68de10779e90.tar.xz snac2-a636cf8b25d72900892b18191e0d68de10779e90.zip | |
New function static_get().
Diffstat (limited to 'xs_io.h')
| -rw-r--r-- | xs_io.h | 11 |
1 files changed, 8 insertions, 3 deletions
| @@ -6,7 +6,7 @@ | |||
| 6 | 6 | ||
| 7 | d_char *xs_readall(FILE *f); | 7 | d_char *xs_readall(FILE *f); |
| 8 | d_char *xs_readline(FILE *f); | 8 | d_char *xs_readline(FILE *f); |
| 9 | d_char *xs_read(FILE *f, int size); | 9 | d_char *xs_read(FILE *f, int *size); |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | #ifdef XS_IMPLEMENTATION | 12 | #ifdef XS_IMPLEMENTATION |
| @@ -56,16 +56,18 @@ d_char *xs_readline(FILE *f) | |||
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | 58 | ||
| 59 | d_char *xs_read(FILE *f, int size) | 59 | d_char *xs_read(FILE *f, int *sz) |
| 60 | /* reads up to size bytes from f */ | 60 | /* reads up to size bytes from f */ |
| 61 | { | 61 | { |
| 62 | d_char *s; | 62 | d_char *s; |
| 63 | int size = *sz; | ||
| 64 | int rdsz = 0; | ||
| 63 | 65 | ||
| 64 | errno = 0; | 66 | errno = 0; |
| 65 | 67 | ||
| 66 | s = xs_str_new(NULL); | 68 | s = xs_str_new(NULL); |
| 67 | 69 | ||
| 68 | while (size != 0 && !feof(f)) { | 70 | while (size > 0 && !feof(f)) { |
| 69 | char tmp[2048]; | 71 | char tmp[2048]; |
| 70 | int n, r; | 72 | int n, r; |
| 71 | 73 | ||
| @@ -76,8 +78,11 @@ d_char *xs_read(FILE *f, int size) | |||
| 76 | s = xs_append_m(s, tmp, r); | 78 | s = xs_append_m(s, tmp, r); |
| 77 | 79 | ||
| 78 | size -= r; | 80 | size -= r; |
| 81 | rdsz += r; | ||
| 79 | } | 82 | } |
| 80 | 83 | ||
| 84 | *sz = rdsz; | ||
| 85 | |||
| 81 | return s; | 86 | return s; |
| 82 | } | 87 | } |
| 83 | 88 | ||