diff options
author | mrb0nk500 <b0nk@b0nk.xyz> | 2022-07-27 12:48:37 -0300 |
---|---|---|
committer | mrb0nk500 <b0nk@b0nk.xyz> | 2022-07-27 12:48:37 -0300 |
commit | 061067957d925a8cbe3a7e09cb354488f362734c (patch) | |
tree | 6adc1a6530d7e5f4c229da8c7e6390061b6845aa /misc.c | |
parent | be48dd9af6d9fb1b7ab5c90fcb0c8b1cb3a20738 (diff) |
misc: Make `get_line()` simpler by using `strcspn()`
Diffstat (limited to 'misc.c')
-rw-r--r-- | misc.c | 18 |
1 files changed, 9 insertions, 9 deletions
@@ -56,17 +56,17 @@ char *read_file(const char *filename, long *size) { } char *get_line(char **str) { - char *s; - size_t i; - char *tmp = *str; - - for (i = 0; tmp[i] != '\n' && tmp[i] != '\0'; i++); + if (str == NULL || *str == NULL) { + return NULL; + } else { + size_t i = strcspn(*str, "\n"); + char *s = calloc(i+1, sizeof(char)); - s = calloc(i+1, sizeof(char)); - memcpy(s, *str, i); + memcpy(s, *str, i); - *str += (i+1); - return s; + *str += (i+1); + return s; + } } char *make_str(const char *str) { |