parser: add has_data helper
authorFrancesco Romani <fromani@gmail.com>
Sun, 6 Jul 2014 12:10:12 +0000 (14:10 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 12 Apr 2023 16:47:42 +0000 (19:47 +0300)
to check if a parser has still data to process

Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>

orc/orcparse.c

index d44f09f..1459f94 100644 (file)
@@ -48,6 +48,7 @@ static void orc_parse_error_free (OrcParseError *error);
 static void orc_parse_splat_error (OrcParseError **errors, int n_errors, char **log);
 
 static void orc_parse_init (OrcParser *parser, const char *code, int enable_errors);
+static int orc_parse_has_data (OrcParser *parser);
 static void orc_parse_get_line (OrcParser *parser);
 static void orc_parse_sanity_check (OrcParser *parser, OrcProgram *program);
 
@@ -99,7 +100,7 @@ orc_parse_code (const char *code, OrcProgram ***programs, int *n_programs,
 
   orc_parse_init (parser, code, enable_errors);
 
-  while (parser->p[0] != 0) {
+  while (orc_parse_has_data (parser)) {
     char *p;
     char *end;
     char *token[10];
@@ -451,6 +452,12 @@ orc_parse_init (OrcParser *parser, const char *code, int enable_errors)
   parser->enable_errors = enable_errors;
 }
 
+static int
+orc_parse_has_data (OrcParser *parser)
+{
+  return parser->p[0] != 0;
+}
+
 static void
 orc_parse_splat_error (OrcParseError **errors, int n_errors, char **log)
 {