From d8ac772cb5217df8fce435307524242a50153a07 Mon Sep 17 00:00:00 2001 From: Anastasios Grammenos Date: Mon, 6 Jun 2022 20:35:45 +0300 Subject: Allow empty ingredient quantity --- src/parser.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'src/parser.c') diff --git a/src/parser.c b/src/parser.c index e4bffb4..9206f42 100644 --- a/src/parser.c +++ b/src/parser.c @@ -87,7 +87,10 @@ parse_item(const char * s, recipe * r, pt * type, char * error) char buf[LINE_SIZE] = ""; for (int i = 0; i < l; i++) { if (val) { - if (s[i] == ',' || s[i] == '=') { + if (s[i] == ',' || s[i] == '=' || i == l - 1) { + if (i == l - 1) { + buf[c++] = s[i]; + } buf[c++] = '\0'; if (!strlen(buf)) { sprintf(error, "malformed ingredient: %s", s); @@ -118,8 +121,9 @@ parse_item(const char * s, recipe * r, pt * type, char * error) } if (!strlen(buf)) { - sprintf(error, "empty ingredient quantity: %s", s); - return 1; + // sprintf(error, "empty ingredient quantity: %s", s); + // return 1; + strcpy(buf, "*"); } for (int i = 0; i < itemc; i++) { @@ -230,7 +234,10 @@ parse(char * path, const char * prev) strcpy(tmp, path); } f = fopen(tmp, "r"); - if (!f) return NULL; + if (!f) { + fprintf(stderr, "Can't open %s\n", path); + return NULL; + } } recipe * r = new_recipe(); -- cgit v1.2.3