summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Romani <fromani@gmail.com>2014-07-06 16:13:22 +0200
committerSebastian Dröge <sebastian@centricular.com>2023-04-12 21:30:37 +0300
commit3b828c935326314e1549eb2b177d81282be139c5 (patch)
tree1ed38fd1f8e8602d89c8d8855b864ececcb5654f
parent9afd14861cab5f3faffa9f51a9129f407a6413f0 (diff)
downloadorc-3b828c935326314e1549eb2b177d81282be139c5.tar.gz
parser: extract function to handle .longparam
Part-of: <https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/30>
-rw-r--r--orc/orcparse.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/orc/orcparse.c b/orc/orcparse.c
index ccbd8bb..3ad8edf 100644
--- a/orc/orcparse.c
+++ b/orc/orcparse.c
@@ -102,6 +102,7 @@ static int orc_parse_handle_accumulator (OrcParser *parser, const OrcLine *line)
static int orc_parse_handle_constant_str (OrcParser *parser, const OrcLine *line);
static int orc_parse_handle_temporary (OrcParser *parser, const OrcLine *line);
static int orc_parse_handle_parameter (OrcParser *parser, const OrcLine *line);
+static int orc_parse_handle_parameter_int64 (OrcParser *parser, const OrcLine *line);
static int orc_parse_handle_directive (OrcParser *parser, const OrcLine *line);
static int orc_parse_handle_opcode (OrcParser *parser, const OrcLine *line);
@@ -441,17 +442,7 @@ orc_parse_handle_legacy (OrcParser *parser, const OrcLine *line)
const char **token = (const char **)(line->tokens);
int n_tokens = line->n_tokens;
- if (strcmp (token[0], ".longparam") == 0) {
- if (n_tokens < 3) {
- orc_parse_add_error (parser, "line %d: .longparam without size or name\n",
- parser->line_number);
- } else {
- int size = strtol (token[1], NULL, 0);
- orc_program_add_parameter_int64 (parser->program, size, token[2]);
- }
- int size = strtol (token[1], NULL, 0);
- orc_program_add_parameter_int64 (parser->program, size, token[2]);
- } else if (strcmp (token[0], ".floatparam") == 0) {
+ if (strcmp (token[0], ".floatparam") == 0) {
if (n_tokens < 3) {
orc_parse_add_error (parser, "line %d: .floatparam without size or name\n",
parser->line_number);
@@ -728,6 +719,7 @@ orc_parse_handle_constant_str (OrcParser *parser, const OrcLine *line)
ORC_PARSE_ITEM (temporary)
ORC_PARSE_ITEM (parameter)
+ORC_PARSE_ITEM (parameter_int64)
static int
@@ -746,6 +738,7 @@ orc_parse_handle_directive (OrcParser *parser, const OrcLine *line)
{ ".const", orc_parse_handle_constant_str },
{ ".temp", orc_parse_handle_temporary },
{ ".param", orc_parse_handle_parameter },
+ { ".longparam", orc_parse_handle_parameter_int64 },
{ NULL, NULL }
};
int i;