From 061067957d925a8cbe3a7e09cb354488f362734c Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Wed, 27 Jul 2022 12:48:37 -0300 Subject: misc: Make `get_line()` simpler by using `strcspn()` --- misc.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/misc.c b/misc.c index 9fda9e6..e9c864b 100644 --- a/misc.c +++ b/misc.c @@ -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) { -- cgit v1.2.3-13-gbd6f