mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
- fix miscalculation in column numbers when multiple tabs
or empty lines are involved; - change linku1() to return the head of the list (unused at the moment); - ignore the source line number in runtests as they change with the source and cause mismatches in the comparison with the reference output. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@23130 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1,9 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
ORIG=`mktemp /tmp/mytest.XXXXXX`
|
||||
NEW=`mktemp /tmp/mytest.XXXXXX`
|
||||
for i in ael-test*; do
|
||||
echo -n Test: $i..................
|
||||
(cd $i; ../../../../utils/aelparse -n -d | grep -v -i 'seconds' > ../res.$i)
|
||||
if (diff -q res.$i ref.$i > /dev/null 2>&1 ) then
|
||||
sed 's/line:[0-9]*//; /^Executed.*/d' < res.$i > $NEW
|
||||
sed 's/line:[0-9]*//; /^Executed.*/d' < ref.$i > $ORIG
|
||||
if (diff -q $NEW $ORIG > /dev/null 2>&1 ) then
|
||||
echo PASSED
|
||||
rm res.$i
|
||||
else
|
||||
@@ -12,3 +15,4 @@ for i in ael-test*; do
|
||||
fi
|
||||
|
||||
done
|
||||
rm $NEW $ORIG
|
||||
|
@@ -213,9 +213,9 @@ switches { STORE_POS; return KW_SWITCHES;}
|
||||
eswitches { STORE_POS; return KW_ESWITCHES;}
|
||||
includes { STORE_POS; return KW_INCLUDES;}
|
||||
|
||||
\n { my_lineno++; my_col = 0; }
|
||||
\n { my_lineno++; my_col = 1; }
|
||||
[ ]+ { my_col += yyleng; }
|
||||
[\t]+ { my_col += 8-(my_col%8); }
|
||||
[\t]+ { my_col += (yyleng*8)-(my_col%8); }
|
||||
|
||||
[-a-zA-Z0-9'"_/.\<\>\*\+!$#\[\]][-a-zA-Z0-9'"_/.!\*\+\<\>\{\}$#\[\]]* {
|
||||
STORE_POS;
|
||||
|
@@ -185,7 +185,7 @@
|
||||
static pval *npval(pvaltype type, int first_line, int last_line,
|
||||
int first_column, int last_column);
|
||||
|
||||
static void linku1(pval *head, pval *tail);
|
||||
static pval * linku1(pval *head, pval *tail);
|
||||
|
||||
void reset_parencount(yyscan_t yyscanner);
|
||||
void reset_semicount(yyscan_t yyscanner);
|
||||
@@ -3521,14 +3521,17 @@ static struct pval *npval2(pvaltype type, YYLTYPE *first, YYLTYPE *last)
|
||||
}
|
||||
|
||||
/* append second element to the list in the first one */
|
||||
static void linku1(pval *head, pval *tail)
|
||||
static pval * linku1(pval *head, pval *tail)
|
||||
{
|
||||
if (!head)
|
||||
return tail;
|
||||
if (!head->next) {
|
||||
head->next = tail;
|
||||
} else {
|
||||
head->u1_last->next = tail;
|
||||
}
|
||||
head->u1_last = tail;
|
||||
return head;
|
||||
}
|
||||
|
||||
|
||||
|
@@ -32,7 +32,7 @@
|
||||
static pval *npval(pvaltype type, int first_line, int last_line,
|
||||
int first_column, int last_column);
|
||||
|
||||
static void linku1(pval *head, pval *tail);
|
||||
static pval * linku1(pval *head, pval *tail);
|
||||
|
||||
void reset_parencount(yyscan_t yyscanner);
|
||||
void reset_semicount(yyscan_t yyscanner);
|
||||
@@ -959,13 +959,16 @@ static struct pval *npval2(pvaltype type, YYLTYPE *first, YYLTYPE *last)
|
||||
}
|
||||
|
||||
/* append second element to the list in the first one */
|
||||
static void linku1(pval *head, pval *tail)
|
||||
static pval * linku1(pval *head, pval *tail)
|
||||
{
|
||||
if (!head)
|
||||
return tail;
|
||||
if (!head->next) {
|
||||
head->next = tail;
|
||||
} else {
|
||||
head->u1_last->next = tail;
|
||||
}
|
||||
head->u1_last = tail;
|
||||
return head;
|
||||
}
|
||||
|
||||
|
@@ -1309,7 +1309,7 @@ case 40:
|
||||
/* rule 40 can match eol */
|
||||
YY_RULE_SETUP
|
||||
#line 216 "ael.flex"
|
||||
{ my_lineno++; my_col = 0; }
|
||||
{ my_lineno++; my_col = 1; }
|
||||
YY_BREAK
|
||||
case 41:
|
||||
YY_RULE_SETUP
|
||||
@@ -1319,7 +1319,7 @@ YY_RULE_SETUP
|
||||
case 42:
|
||||
YY_RULE_SETUP
|
||||
#line 218 "ael.flex"
|
||||
{ my_col += 8-(my_col%8); }
|
||||
{ my_col += (yyleng*8)-(my_col%8); }
|
||||
YY_BREAK
|
||||
case 43:
|
||||
YY_RULE_SETUP
|
||||
|
Reference in New Issue
Block a user