summaryrefslogtreecommitdiff
path: root/graphics/xmms-xvs/files/patch-src-calc-parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/xmms-xvs/files/patch-src-calc-parser.y')
-rw-r--r--graphics/xmms-xvs/files/patch-src-calc-parser.y94
1 files changed, 0 insertions, 94 deletions
diff --git a/graphics/xmms-xvs/files/patch-src-calc-parser.y b/graphics/xmms-xvs/files/patch-src-calc-parser.y
deleted file mode 100644
index 984c4728ce8c..000000000000
--- a/graphics/xmms-xvs/files/patch-src-calc-parser.y
+++ /dev/null
@@ -1,94 +0,0 @@
---- src/calc/parser.y.orig Thu Jun 21 18:34:14 2001
-+++ src/calc/parser.y Wed Nov 20 21:38:13 2002
-@@ -81,6 +81,7 @@
- | expression_list ';'
- | error ';'
- { yyerrok; }
-+;
-
- /* argument list is a comma separated list od expressions */
- argument_list:
-@@ -90,6 +91,7 @@
- | argument_list ',' expression
- {
- }
-+;
-
- /* expression is a C-like expression. */
- expression: NUMBER
-@@ -148,12 +150,20 @@
- return 0;
- }
-
-+int strgetc (const char **str) {
-+ char c;
-+ if ((c = **str)) { (*str)++; return c; }
-+ return EOF;
-+}
-+
-+void strungetc (int c, const char **str) { if (c != EOF) (*str)--; }
-+
- int yylex (YYSTYPE *yylval, void *yyparam) {
- int c;
- parser_control *pc = (parser_control *) yyparam;
-
- /* Ignore whitespace, get first nonwhite character. */
-- while ((c = fgetc (pc->input)) == ' ' || c == '\t' || c == '\n');
-+ while ((c = strgetc (&pc->input)) == ' ' || c == '\t' || c == '\n');
-
- /* End of input ? */
- if (c == EOF)
-@@ -161,14 +171,16 @@
-
- /* Char starts a number => parse the number. */
- if (isdigit (c)) {
-- ungetc (c, pc->input);/* Put the char back. */
-+ strungetc (c, &pc->input); /* Put the char back. */
- {
- char *old_locale, *saved_locale;
-+ int n;
-
- old_locale = setlocale (LC_ALL, NULL);
- saved_locale = g_strdup (old_locale);
- setlocale (LC_ALL, "C");
-- fscanf (pc->input, "%lf", &yylval->d_value);
-+ sscanf (pc->input, "%lf%n", &yylval->d_value, &n);
-+ pc->input += n;
- setlocale (LC_ALL, saved_locale);
- g_free (saved_locale);
- }
-@@ -185,10 +197,10 @@
- sym_name = g_string_append_c (sym_name, c);
-
- /* Get another character. */
-- c = fgetc (pc->input);
-+ c = strgetc (&pc->input);
- } while (c != EOF && isalnum (c));
-
-- ungetc (c, pc->input);
-+ strungetc (c, &pc->input);
-
- yylval->s_value = sym_name->str;
-
-@@ -264,11 +276,8 @@
-
- expression_t *expr_compile_string (const char* str, symbol_dict_t *dict) {
- parser_control pc;
-- FILE *stream;
--
-- stream = fmemopen (str, strlen (str), "r");
-
-- pc.input = stream;
-+ pc.input = str;
- pc.expr = expr_new ();
- pc.dict = dict;
-
-@@ -277,8 +286,6 @@
- expr_free (pc.expr);
- pc.expr = NULL;
- }
--
-- fclose (stream);
-
- return pc.expr;
- }