diff options
| -rwxr-xr-x | str/str.c | 7 | ||||
| -rwxr-xr-x | str/str.h | 6 |
2 files changed, 12 insertions, 1 deletions
@@ -356,6 +356,12 @@ str file_to_nstr(char *filename, u32 len){ return s; } +void str_to_file(str s, char *filename){ + FILE *fp = fopen(filename, "r"); + str_to_fp(s, fp); + fclose(fp) +} + str map_file(char *filename){ int fd = open(filename, 0); if(fd == -1){ @@ -397,6 +403,7 @@ void unmap_file(str *s){ s->cap = 0; } +// TODO: check if this function is redundant str fread_str(int fd, int max){ str s = dnstr(max); s.len = read(fd, s.ptr, s.cap); @@ -112,8 +112,12 @@ str fp_to_str(FILE *fp); str fp_to_nstr(FILE *fp, u32 len); str file_to_str(char *filename); str file_to_nstr(char *filename, u32 len); +#define str_to_fd(s, fd) write(fd, s.ptr, s.len) +#define str_to_fp(s, fp) fwrite(s.ptr, sizeof(str.ptr[0]), s.len, fp) +void str_to_file(str s, char *filename); + str map_file(char *filename); -// consider adding 'at' to other file-to-str functions +// TODO: consider adding 'at' to other file-to-str functions str map_file_at(char *filename, int len, int at); void unmap_file(str *s); |
