Commit bc55d234 authored by Lev Walkin's avatar Lev Walkin

fixed multiple imports problem

parent d83fae9d
...@@ -359,7 +359,7 @@ typedef union { ...@@ -359,7 +359,7 @@ typedef union {
} tv_nametag; } tv_nametag;
} yystype; } yystype;
/* Line 193 of /usr/local/share/bison/yacc.c. */ /* Line 193 of /usr/local/share/bison/yacc.c. */
#line 363 "y.tab.c" #line 363 "asn1p_y.c"
# define YYSTYPE yystype # define YYSTYPE yystype
# define YYSTYPE_IS_TRIVIAL 1 # define YYSTYPE_IS_TRIVIAL 1
#endif #endif
...@@ -380,7 +380,7 @@ typedef struct yyltype ...@@ -380,7 +380,7 @@ typedef struct yyltype
/* Line 213 of /usr/local/share/bison/yacc.c. */ /* Line 213 of /usr/local/share/bison/yacc.c. */
#line 384 "y.tab.c" #line 384 "asn1p_y.c"
#if ! defined (yyoverflow) || YYERROR_VERBOSE #if ! defined (yyoverflow) || YYERROR_VERBOSE
...@@ -648,29 +648,29 @@ static const unsigned short yyrline[] = ...@@ -648,29 +648,29 @@ static const unsigned short yyrline[] =
{ {
0, 297, 297, 303, 309, 325, 350, 352, 355, 359, 0, 297, 297, 303, 309, 325, 350, 352, 355, 359,
364, 371, 379, 384, 388, 397, 399, 407, 411, 419, 364, 371, 379, 384, 388, 397, 399, 407, 411, 419,
423, 426, 429, 437, 439, 448, 452, 477, 481, 490, 423, 426, 429, 437, 439, 448, 452, 478, 482, 491,
497, 510, 521, 534, 541, 546, 552, 558, 567, 573, 498, 511, 522, 535, 542, 547, 553, 559, 568, 574,
579, 586, 594, 598, 601, 608, 614, 620, 627, 636, 580, 587, 595, 599, 602, 609, 615, 621, 628, 637,
646, 654, 662, 664, 676, 688, 695, 711, 721, 731, 647, 655, 663, 665, 677, 689, 696, 712, 722, 732,
741, 746, 753, 763, 769, 775, 779, 791, 797, 803, 742, 747, 754, 764, 770, 776, 780, 792, 798, 804,
813, 815, 818, 826, 832, 841, 846, 863, 865, 872, 814, 816, 819, 827, 833, 842, 847, 864, 866, 873,
870, 879, 884, 890, 894, 919, 926, 931, 939, 948, 871, 880, 885, 891, 895, 920, 927, 932, 940, 949,
957, 968, 972, 978, 986, 1010, 1017, 1031, 1040, 1050, 958, 969, 973, 979, 987, 1011, 1018, 1032, 1041, 1051,
1060, 1068, 1089, 1098, 1107, 1108, 1110, 1117, 1129, 1140, 1061, 1069, 1090, 1099, 1108, 1109, 1111, 1118, 1130, 1141,
1139, 1146, 1150, 1154, 1158, 1161, 1166, 1178, 1194, 1205, 1140, 1147, 1151, 1155, 1159, 1162, 1167, 1179, 1195, 1206,
1219, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1220, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230,
1230, 1231, 1237, 1239, 1240, 1243, 1250, 1262, 1264, 1268, 1231, 1232, 1238, 1240, 1241, 1244, 1251, 1263, 1265, 1269,
1272, 1273, 1274, 1275, 1276, 1280, 1281, 1282, 1283, 1287, 1273, 1274, 1275, 1276, 1277, 1281, 1282, 1283, 1284, 1288,
1288, 1291, 1298, 1304, 1310, 1318, 1326, 1332, 1348, 1350, 1289, 1292, 1299, 1305, 1311, 1319, 1327, 1333, 1349, 1351,
1353, 1353, 1354, 1354, 1355, 1357, 1370, 1373, 1378, 1384, 1354, 1354, 1355, 1355, 1356, 1358, 1371, 1374, 1379, 1385,
1388, 1395, 1403, 1408, 1417, 1419, 1421, 1426, 1428, 1434, 1389, 1396, 1404, 1409, 1418, 1420, 1422, 1427, 1429, 1435,
1436, 1441, 1448, 1455, 1463, 1466, 1471, 1473, 1474, 1475, 1437, 1442, 1449, 1456, 1464, 1467, 1472, 1474, 1475, 1476,
1478, 1482, 1487, 1491, 1502, 1506, 1511, 1516, 1521, 1528, 1479, 1483, 1488, 1492, 1503, 1507, 1512, 1517, 1522, 1529,
1534, 1538, 1543, 1549, 1561, 1563, 1566, 1570, 1573, 1578, 1535, 1539, 1544, 1550, 1562, 1564, 1567, 1571, 1574, 1579,
1582, 1590, 1605, 1611, 1618, 1631, 1643, 1658, 1662, 1679, 1583, 1591, 1606, 1612, 1619, 1632, 1644, 1659, 1663, 1680,
1681, 1684, 1688, 1694, 1697, 1699, 1699, 1719, 1724, 1729, 1682, 1685, 1689, 1695, 1698, 1700, 1700, 1720, 1725, 1730,
1735, 1741, 1749, 1757, 1765, 1772, 1782, 1787, 1817, 1819, 1736, 1742, 1750, 1758, 1766, 1773, 1783, 1788, 1818, 1820,
1822, 1827, 1831, 1837, 1842, 1848, 1855, 1862, 1867 1823, 1828, 1832, 1838, 1843, 1849, 1856, 1863, 1868
}; };
#endif #endif
...@@ -1893,12 +1893,13 @@ yyreduce: ...@@ -1893,12 +1893,13 @@ yyreduce:
#error MY_IMPORT DEFINED ELSEWHERE! #error MY_IMPORT DEFINED ELSEWHERE!
#endif #endif
#define MY_IMPORT(foo,field) do { \ #define MY_IMPORT(foo,field) do { \
if(TQ_FIRST(&(yyvsp[0].a_module->foo))) { \ while(TQ_FIRST(&(yyvsp[0].a_module->foo))) { \
TQ_ADD(&(yyval.a_module->foo), \ TQ_ADD(&(yyval.a_module->foo), \
TQ_REMOVE(&(yyvsp[0].a_module->foo), field), \ TQ_REMOVE(&(yyvsp[0].a_module->foo), field), \
field); \ field); \
} \
assert(TQ_FIRST(&(yyvsp[0].a_module->foo)) == 0); \ assert(TQ_FIRST(&(yyvsp[0].a_module->foo)) == 0); \
} } while(0) } while(0)
MY_IMPORT(imports, xp_next); MY_IMPORT(imports, xp_next);
MY_IMPORT(exports, xp_next); MY_IMPORT(exports, xp_next);
...@@ -1909,14 +1910,14 @@ yyreduce: ...@@ -1909,14 +1910,14 @@ yyreduce:
break; break;
case 27: case 27:
#line 478 "asn1p_y.y" #line 479 "asn1p_y.y"
{ {
yyval.a_module = yyvsp[0].a_module; yyval.a_module = yyvsp[0].a_module;
} }
break; break;
case 28: case 28:
#line 481 "asn1p_y.y" #line 482 "asn1p_y.y"
{ {
yyval.a_module = asn1p_module_new(); yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module); checkmem(yyval.a_module);
...@@ -1929,7 +1930,7 @@ yyreduce: ...@@ -1929,7 +1930,7 @@ yyreduce:
break; break;
case 29: case 29:
#line 490 "asn1p_y.y" #line 491 "asn1p_y.y"
{ {
yyval.a_module = asn1p_module_new(); yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module); checkmem(yyval.a_module);
...@@ -1940,7 +1941,7 @@ yyreduce: ...@@ -1940,7 +1941,7 @@ yyreduce:
break; break;
case 30: case 30:
#line 497 "asn1p_y.y" #line 498 "asn1p_y.y"
{ {
yyval.a_module = asn1p_module_new(); yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module); checkmem(yyval.a_module);
...@@ -1951,7 +1952,7 @@ yyreduce: ...@@ -1951,7 +1952,7 @@ yyreduce:
break; break;
case 31: case 31:
#line 510 "asn1p_y.y" #line 511 "asn1p_y.y"
{ {
yyval.a_module = asn1p_module_new(); yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module); checkmem(yyval.a_module);
...@@ -1962,7 +1963,7 @@ yyreduce: ...@@ -1962,7 +1963,7 @@ yyreduce:
break; break;
case 32: case 32:
#line 521 "asn1p_y.y" #line 522 "asn1p_y.y"
{ {
return yyerror( return yyerror(
"Attempt to redefine a standard basic type, " "Attempt to redefine a standard basic type, "
...@@ -1972,21 +1973,21 @@ yyreduce: ...@@ -1972,21 +1973,21 @@ yyreduce:
break; break;
case 33: case 33:
#line 535 "asn1p_y.y" #line 536 "asn1p_y.y"
{ {
yyval.a_module = yyvsp[-1].a_module; yyval.a_module = yyvsp[-1].a_module;
} }
break; break;
case 34: case 34:
#line 541 "asn1p_y.y" #line 542 "asn1p_y.y"
{ {
return yyerror("Empty IMPORTS list"); return yyerror("Empty IMPORTS list");
} }
break; break;
case 35: case 35:
#line 547 "asn1p_y.y" #line 548 "asn1p_y.y"
{ {
yyval.a_module = asn1p_module_new(); yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module); checkmem(yyval.a_module);
...@@ -1995,7 +1996,7 @@ yyreduce: ...@@ -1995,7 +1996,7 @@ yyreduce:
break; break;
case 36: case 36:
#line 552 "asn1p_y.y" #line 553 "asn1p_y.y"
{ {
yyval.a_module = yyvsp[-1].a_module; yyval.a_module = yyvsp[-1].a_module;
TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next); TQ_ADD(&(yyval.a_module->imports), yyvsp[0].a_xports, xp_next);
...@@ -2003,7 +2004,7 @@ yyreduce: ...@@ -2003,7 +2004,7 @@ yyreduce:
break; break;
case 37: case 37:
#line 559 "asn1p_y.y" #line 560 "asn1p_y.y"
{ {
yyval.a_xports = yyvsp[-3].a_xports; yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->from = yyvsp[-1].tv_str; yyval.a_xports->from = yyvsp[-1].tv_str;
...@@ -2013,7 +2014,7 @@ yyreduce: ...@@ -2013,7 +2014,7 @@ yyreduce:
break; break;
case 38: case 38:
#line 568 "asn1p_y.y" #line 569 "asn1p_y.y"
{ {
yyval.a_xports = asn1p_xports_new(); yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports); checkmem(yyval.a_xports);
...@@ -2022,7 +2023,7 @@ yyreduce: ...@@ -2022,7 +2023,7 @@ yyreduce:
break; break;
case 39: case 39:
#line 573 "asn1p_y.y" #line 574 "asn1p_y.y"
{ {
yyval.a_xports = yyvsp[-2].a_xports; yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
...@@ -2030,7 +2031,7 @@ yyreduce: ...@@ -2030,7 +2031,7 @@ yyreduce:
break; break;
case 40: case 40:
#line 580 "asn1p_y.y" #line 581 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2040,7 +2041,7 @@ yyreduce: ...@@ -2040,7 +2041,7 @@ yyreduce:
break; break;
case 41: case 41:
#line 586 "asn1p_y.y" #line 587 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2050,21 +2051,21 @@ yyreduce: ...@@ -2050,21 +2051,21 @@ yyreduce:
break; break;
case 42: case 42:
#line 595 "asn1p_y.y" #line 596 "asn1p_y.y"
{ {
yyval.a_xports = yyvsp[-1].a_xports; yyval.a_xports = yyvsp[-1].a_xports;
} }
break; break;
case 43: case 43:
#line 598 "asn1p_y.y" #line 599 "asn1p_y.y"
{ {
yyval.a_xports = 0; yyval.a_xports = 0;
} }
break; break;
case 44: case 44:
#line 601 "asn1p_y.y" #line 602 "asn1p_y.y"
{ {
/* Empty EXPORTS clause effectively prohibits export. */ /* Empty EXPORTS clause effectively prohibits export. */
yyval.a_xports = asn1p_xports_new(); yyval.a_xports = asn1p_xports_new();
...@@ -2073,7 +2074,7 @@ yyreduce: ...@@ -2073,7 +2074,7 @@ yyreduce:
break; break;
case 45: case 45:
#line 609 "asn1p_y.y" #line 610 "asn1p_y.y"
{ {
yyval.a_xports = asn1p_xports_new(); yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports); assert(yyval.a_xports);
...@@ -2082,7 +2083,7 @@ yyreduce: ...@@ -2082,7 +2083,7 @@ yyreduce:
break; break;
case 46: case 46:
#line 614 "asn1p_y.y" #line 615 "asn1p_y.y"
{ {
yyval.a_xports = yyvsp[-2].a_xports; yyval.a_xports = yyvsp[-2].a_xports;
TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next); TQ_ADD(&(yyval.a_xports->members), yyvsp[0].a_expr, next);
...@@ -2090,7 +2091,7 @@ yyreduce: ...@@ -2090,7 +2091,7 @@ yyreduce:
break; break;
case 47: case 47:
#line 621 "asn1p_y.y" #line 622 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2100,7 +2101,7 @@ yyreduce: ...@@ -2100,7 +2101,7 @@ yyreduce:
break; break;
case 48: case 48:
#line 627 "asn1p_y.y" #line 628 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2110,7 +2111,7 @@ yyreduce: ...@@ -2110,7 +2111,7 @@ yyreduce:
break; break;
case 49: case 49:
#line 637 "asn1p_y.y" #line 638 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-4].a_expr; yyval.a_expr = yyvsp[-4].a_expr;
assert(yyval.a_expr->Identifier == 0); assert(yyval.a_expr->Identifier == 0);
...@@ -2121,7 +2122,7 @@ yyreduce: ...@@ -2121,7 +2122,7 @@ yyreduce:
break; break;
case 50: case 50:
#line 647 "asn1p_y.y" #line 648 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2132,7 +2133,7 @@ yyreduce: ...@@ -2132,7 +2133,7 @@ yyreduce:
break; break;
case 51: case 51:
#line 654 "asn1p_y.y" #line 655 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2142,18 +2143,18 @@ yyreduce: ...@@ -2142,18 +2143,18 @@ yyreduce:
break; break;
case 52: case 52:
#line 663 "asn1p_y.y" #line 664 "asn1p_y.y"
{ } { }
break; break;
case 53: case 53:
#line 664 "asn1p_y.y" #line 665 "asn1p_y.y"
{ {
} }
break; break;
case 54: case 54:
#line 680 "asn1p_y.y" #line 681 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2165,7 +2166,7 @@ yyreduce: ...@@ -2165,7 +2166,7 @@ yyreduce:
break; break;
case 55: case 55:
#line 688 "asn1p_y.y" #line 689 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-3].tv_str; yyval.a_expr->Identifier = yyvsp[-3].tv_str;
...@@ -2176,7 +2177,7 @@ yyreduce: ...@@ -2176,7 +2177,7 @@ yyreduce:
break; break;
case 56: case 56:
#line 695 "asn1p_y.y" #line 696 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].tv_str; yyval.a_expr->Identifier = yyvsp[-2].tv_str;
...@@ -2186,7 +2187,7 @@ yyreduce: ...@@ -2186,7 +2187,7 @@ yyreduce:
break; break;
case 57: case 57:
#line 712 "asn1p_y.y" #line 713 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0); assert(yyval.a_expr->Identifier == 0);
...@@ -2197,7 +2198,7 @@ yyreduce: ...@@ -2197,7 +2198,7 @@ yyreduce:
break; break;
case 58: case 58:
#line 722 "asn1p_y.y" #line 723 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno); yyval.a_plist = asn1p_paramlist_new(yylineno);
...@@ -2210,7 +2211,7 @@ yyreduce: ...@@ -2210,7 +2211,7 @@ yyreduce:
break; break;
case 59: case 59:
#line 731 "asn1p_y.y" #line 732 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_plist = yyvsp[-2].a_plist; yyval.a_plist = yyvsp[-2].a_plist;
...@@ -2222,7 +2223,7 @@ yyreduce: ...@@ -2222,7 +2223,7 @@ yyreduce:
break; break;
case 60: case 60:
#line 742 "asn1p_y.y" #line 743 "asn1p_y.y"
{ {
yyval.a_parg.governor = NULL; yyval.a_parg.governor = NULL;
yyval.a_parg.argument = yyvsp[0].tv_str; yyval.a_parg.argument = yyvsp[0].tv_str;
...@@ -2230,7 +2231,7 @@ yyreduce: ...@@ -2230,7 +2231,7 @@ yyreduce:
break; break;
case 61: case 61:
#line 746 "asn1p_y.y" #line 747 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno); yyval.a_parg.governor = asn1p_ref_new(yylineno);
...@@ -2241,7 +2242,7 @@ yyreduce: ...@@ -2241,7 +2242,7 @@ yyreduce:
break; break;
case 62: case 62:
#line 753 "asn1p_y.y" #line 754 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno); yyval.a_parg.governor = asn1p_ref_new(yylineno);
...@@ -2253,7 +2254,7 @@ yyreduce: ...@@ -2253,7 +2254,7 @@ yyreduce:
break; break;
case 63: case 63:
#line 764 "asn1p_y.y" #line 765 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2262,7 +2263,7 @@ yyreduce: ...@@ -2262,7 +2263,7 @@ yyreduce:
break; break;
case 64: case 64:
#line 769 "asn1p_y.y" #line 770 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next); TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
...@@ -2270,14 +2271,14 @@ yyreduce: ...@@ -2270,14 +2271,14 @@ yyreduce:
break; break;
case 65: case 65:
#line 776 "asn1p_y.y" #line 777 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
} }
break; break;
case 66: case 66:
#line 779 "asn1p_y.y" #line 780 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2288,7 +2289,7 @@ yyreduce: ...@@ -2288,7 +2289,7 @@ yyreduce:
break; break;
case 67: case 67:
#line 792 "asn1p_y.y" #line 793 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2297,7 +2298,7 @@ yyreduce: ...@@ -2297,7 +2298,7 @@ yyreduce:
break; break;
case 68: case 68:
#line 797 "asn1p_y.y" #line 798 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next); TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
...@@ -2305,7 +2306,7 @@ yyreduce: ...@@ -2305,7 +2306,7 @@ yyreduce:
break; break;
case 69: case 69:
#line 804 "asn1p_y.y" #line 805 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2316,17 +2317,17 @@ yyreduce: ...@@ -2316,17 +2317,17 @@ yyreduce:
break; break;
case 70: case 70:
#line 814 "asn1p_y.y" #line 815 "asn1p_y.y"
{ yyval.a_int = 0; } { yyval.a_int = 0; }
break; break;
case 71: case 71:
#line 815 "asn1p_y.y" #line 816 "asn1p_y.y"
{ yyval.a_int = 1; } { yyval.a_int = 1; }
break; break;
case 72: case 72:
#line 819 "asn1p_y.y" #line 820 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2337,7 +2338,7 @@ yyreduce: ...@@ -2337,7 +2338,7 @@ yyreduce:
break; break;
case 73: case 73:
#line 826 "asn1p_y.y" #line 827 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next); TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
...@@ -2345,7 +2346,7 @@ yyreduce: ...@@ -2345,7 +2346,7 @@ yyreduce:
break; break;
case 74: case 74:
#line 833 "asn1p_y.y" #line 834 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2357,7 +2358,7 @@ yyreduce: ...@@ -2357,7 +2358,7 @@ yyreduce:
break; break;
case 75: case 75:
#line 841 "asn1p_y.y" #line 842 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->Identifier = yyvsp[-2].a_refcomp.name; yyval.a_expr->Identifier = yyvsp[-2].a_refcomp.name;
...@@ -2366,7 +2367,7 @@ yyreduce: ...@@ -2366,7 +2367,7 @@ yyreduce:
break; break;
case 76: case 76:
#line 846 "asn1p_y.y" #line 847 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
...@@ -2385,31 +2386,31 @@ yyreduce: ...@@ -2385,31 +2386,31 @@ yyreduce:
break; break;
case 77: case 77:
#line 864 "asn1p_y.y" #line 865 "asn1p_y.y"
{ yyval.a_wsynt = 0; } { yyval.a_wsynt = 0; }
break; break;
case 78: case 78:
#line 865 "asn1p_y.y" #line 866 "asn1p_y.y"
{ {
yyval.a_wsynt = yyvsp[0].a_wsynt; yyval.a_wsynt = yyvsp[0].a_wsynt;
} }
break; break;
case 79: case 79:
#line 872 "asn1p_y.y" #line 873 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); } { asn1p_lexer_hack_enable_with_syntax(); }
break; break;
case 80: case 80:
#line 874 "asn1p_y.y" #line 875 "asn1p_y.y"
{ {
yyval.a_wsynt = yyvsp[-1].a_wsynt; yyval.a_wsynt = yyvsp[-1].a_wsynt;
} }
break; break;
case 81: case 81:
#line 880 "asn1p_y.y" #line 881 "asn1p_y.y"
{ {
yyval.a_wsynt = asn1p_wsyntx_new(); yyval.a_wsynt = asn1p_wsyntx_new();
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next); TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
...@@ -2417,7 +2418,7 @@ yyreduce: ...@@ -2417,7 +2418,7 @@ yyreduce:
break; break;
case 82: case 82:
#line 884 "asn1p_y.y" #line 885 "asn1p_y.y"
{ {
yyval.a_wsynt = yyvsp[-1].a_wsynt; yyval.a_wsynt = yyvsp[-1].a_wsynt;
TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next); TQ_ADD(&(yyval.a_wsynt->chunks), yyvsp[0].a_wchunk, next);
...@@ -2425,14 +2426,14 @@ yyreduce: ...@@ -2425,14 +2426,14 @@ yyreduce:
break; break;
case 83: case 83:
#line 891 "asn1p_y.y" #line 892 "asn1p_y.y"
{ {
yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); yyval.a_wchunk = asn1p_wsyntx_chunk_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
} }
break; break;
case 84: case 84:
#line 894 "asn1p_y.y" #line 895 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -2445,7 +2446,7 @@ yyreduce: ...@@ -2445,7 +2446,7 @@ yyreduce:
break; break;
case 85: case 85:
#line 920 "asn1p_y.y" #line 921 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
assert(yyval.a_expr->Identifier == 0); assert(yyval.a_expr->Identifier == 0);
...@@ -2455,14 +2456,14 @@ yyreduce: ...@@ -2455,14 +2456,14 @@ yyreduce:
break; break;
case 86: case 86:
#line 926 "asn1p_y.y" #line 927 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
} }
break; break;
case 87: case 87:
#line 932 "asn1p_y.y" #line 933 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
yyval.a_expr->constraints = yyvsp[-1].a_constr; yyval.a_expr->constraints = yyvsp[-1].a_constr;
...@@ -2471,7 +2472,7 @@ yyreduce: ...@@ -2471,7 +2472,7 @@ yyreduce:
break; break;
case 88: case 88:
#line 940 "asn1p_y.y" #line 941 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2483,7 +2484,7 @@ yyreduce: ...@@ -2483,7 +2484,7 @@ yyreduce:
break; break;
case 89: case 89:
#line 948 "asn1p_y.y" #line 949 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2496,7 +2497,7 @@ yyreduce: ...@@ -2496,7 +2497,7 @@ yyreduce:
break; break;
case 90: case 90:
#line 957 "asn1p_y.y" #line 958 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2509,14 +2510,14 @@ yyreduce: ...@@ -2509,14 +2510,14 @@ yyreduce:
break; break;
case 91: case 91:
#line 969 "asn1p_y.y" #line 970 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
} }
break; break;
case 92: case 92:
#line 972 "asn1p_y.y" #line 973 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2526,7 +2527,7 @@ yyreduce: ...@@ -2526,7 +2527,7 @@ yyreduce:
break; break;
case 93: case 93:
#line 978 "asn1p_y.y" #line 979 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2535,7 +2536,7 @@ yyreduce: ...@@ -2535,7 +2536,7 @@ yyreduce:
break; break;
case 94: case 94:
#line 986 "asn1p_y.y" #line 987 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
...@@ -2553,7 +2554,7 @@ yyreduce: ...@@ -2553,7 +2554,7 @@ yyreduce:
break; break;
case 95: case 95:
#line 1010 "asn1p_y.y" #line 1011 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2564,7 +2565,7 @@ yyreduce: ...@@ -2564,7 +2565,7 @@ yyreduce:
break; break;
case 96: case 96:
#line 1017 "asn1p_y.y" #line 1018 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2575,7 +2576,7 @@ yyreduce: ...@@ -2575,7 +2576,7 @@ yyreduce:
break; break;
case 97: case 97:
#line 1032 "asn1p_y.y" #line 1033 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2587,7 +2588,7 @@ yyreduce: ...@@ -2587,7 +2588,7 @@ yyreduce:
break; break;
case 98: case 98:
#line 1040 "asn1p_y.y" #line 1041 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2601,7 +2602,7 @@ yyreduce: ...@@ -2601,7 +2602,7 @@ yyreduce:
break; break;
case 99: case 99:
#line 1050 "asn1p_y.y" #line 1051 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2615,7 +2616,7 @@ yyreduce: ...@@ -2615,7 +2616,7 @@ yyreduce:
break; break;
case 100: case 100:
#line 1060 "asn1p_y.y" #line 1061 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2627,7 +2628,7 @@ yyreduce: ...@@ -2627,7 +2628,7 @@ yyreduce:
break; break;
case 101: case 101:
#line 1068 "asn1p_y.y" #line 1069 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = yyvsp[0].a_ref; yyval.a_ref = yyvsp[0].a_ref;
...@@ -2650,7 +2651,7 @@ yyreduce: ...@@ -2650,7 +2651,7 @@ yyreduce:
break; break;
case 102: case 102:
#line 1090 "asn1p_y.y" #line 1091 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2662,7 +2663,7 @@ yyreduce: ...@@ -2662,7 +2663,7 @@ yyreduce:
break; break;
case 103: case 103:
#line 1098 "asn1p_y.y" #line 1099 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = yyvsp[-2].a_ref; yyval.a_ref = yyvsp[-2].a_ref;
...@@ -2673,7 +2674,7 @@ yyreduce: ...@@ -2673,7 +2674,7 @@ yyreduce:
break; break;
case 106: case 106:
#line 1112 "asn1p_y.y" #line 1113 "asn1p_y.y"
{ {
yyval.a_refcomp.lex_type = RLT_AmpUppercase; yyval.a_refcomp.lex_type = RLT_AmpUppercase;
yyval.a_refcomp.name = yyvsp[0].tv_str; yyval.a_refcomp.name = yyvsp[0].tv_str;
...@@ -2681,7 +2682,7 @@ yyreduce: ...@@ -2681,7 +2682,7 @@ yyreduce:
break; break;
case 107: case 107:
#line 1117 "asn1p_y.y" #line 1118 "asn1p_y.y"
{ {
yyval.a_refcomp.lex_type = RLT_Amplowercase; yyval.a_refcomp.lex_type = RLT_Amplowercase;
yyval.a_refcomp.name = yyvsp[0].tv_str; yyval.a_refcomp.name = yyvsp[0].tv_str;
...@@ -2689,7 +2690,7 @@ yyreduce: ...@@ -2689,7 +2690,7 @@ yyreduce:
break; break;
case 108: case 108:
#line 1130 "asn1p_y.y" #line 1131 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
assert(yyval.a_expr->Identifier == NULL); assert(yyval.a_expr->Identifier == NULL);
...@@ -2700,12 +2701,12 @@ yyreduce: ...@@ -2700,12 +2701,12 @@ yyreduce:
break; break;
case 109: case 109:
#line 1140 "asn1p_y.y" #line 1141 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); } { asn1p_lexer_hack_push_opaque_state(); }
break; break;
case 110: case 110:
#line 1141 "asn1p_y.y" #line 1142 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -2714,7 +2715,7 @@ yyreduce: ...@@ -2714,7 +2715,7 @@ yyreduce:
break; break;
case 111: case 111:
#line 1146 "asn1p_y.y" #line 1147 "asn1p_y.y"
{ {
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B'); yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'B');
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -2722,7 +2723,7 @@ yyreduce: ...@@ -2722,7 +2723,7 @@ yyreduce:
break; break;
case 112: case 112:
#line 1150 "asn1p_y.y" #line 1151 "asn1p_y.y"
{ {
yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H'); yyval.a_value = _convert_bitstring2binary(yyvsp[0].tv_str, 'H');
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -2730,7 +2731,7 @@ yyreduce: ...@@ -2730,7 +2731,7 @@ yyreduce:
break; break;
case 113: case 113:
#line 1154 "asn1p_y.y" #line 1155 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -2738,21 +2739,21 @@ yyreduce: ...@@ -2738,21 +2739,21 @@ yyreduce:
break; break;
case 114: case 114:
#line 1158 "asn1p_y.y" #line 1159 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
} }
break; break;
case 115: case 115:
#line 1161 "asn1p_y.y" #line 1162 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
} }
break; break;
case 116: case 116:
#line 1167 "asn1p_y.y" #line 1168 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -2767,7 +2768,7 @@ yyreduce: ...@@ -2767,7 +2768,7 @@ yyreduce:
break; break;
case 117: case 117:
#line 1178 "asn1p_y.y" #line 1179 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -2785,7 +2786,7 @@ yyreduce: ...@@ -2785,7 +2786,7 @@ yyreduce:
break; break;
case 118: case 118:
#line 1195 "asn1p_y.y" #line 1196 "asn1p_y.y"
{ {
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 2; yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 2;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1); yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
...@@ -2799,7 +2800,7 @@ yyreduce: ...@@ -2799,7 +2800,7 @@ yyreduce:
break; break;
case 119: case 119:
#line 1205 "asn1p_y.y" #line 1206 "asn1p_y.y"
{ {
int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len; int newsize = yyvsp[-1].tv_opaque.len + yyvsp[0].tv_opaque.len;
char *p = malloc(newsize + 1); char *p = malloc(newsize + 1);
...@@ -2815,82 +2816,82 @@ yyreduce: ...@@ -2815,82 +2816,82 @@ yyreduce:
break; break;
case 120: case 120:
#line 1220 "asn1p_y.y" #line 1221 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; } { yyval.a_type = ASN_BASIC_BOOLEAN; }
break; break;
case 121: case 121:
#line 1221 "asn1p_y.y" #line 1222 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; } { yyval.a_type = ASN_BASIC_NULL; }
break; break;
case 122: case 122:
#line 1222 "asn1p_y.y" #line 1223 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; } { yyval.a_type = ASN_BASIC_REAL; }
break; break;
case 123: case 123:
#line 1223 "asn1p_y.y" #line 1224 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; } { yyval.a_type = yyvsp[0].a_type; }
break; break;
case 124: case 124:
#line 1224 "asn1p_y.y" #line 1225 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; } { yyval.a_type = ASN_BASIC_OCTET_STRING; }
break; break;
case 125: case 125:
#line 1225 "asn1p_y.y" #line 1226 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; } { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; }
break; break;
case 126: case 126:
#line 1226 "asn1p_y.y" #line 1227 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; } { yyval.a_type = ASN_BASIC_RELATIVE_OID; }
break; break;
case 127: case 127:
#line 1227 "asn1p_y.y" #line 1228 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; } { yyval.a_type = ASN_BASIC_EXTERNAL; }
break; break;
case 128: case 128:
#line 1228 "asn1p_y.y" #line 1229 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; } { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; }
break; break;
case 129: case 129:
#line 1229 "asn1p_y.y" #line 1230 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; } { yyval.a_type = ASN_BASIC_CHARACTER_STRING; }
break; break;
case 130: case 130:
#line 1230 "asn1p_y.y" #line 1231 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; } { yyval.a_type = ASN_BASIC_UTCTime; }
break; break;
case 131: case 131:
#line 1231 "asn1p_y.y" #line 1232 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; } { yyval.a_type = ASN_BASIC_GeneralizedTime; }
break; break;
case 132: case 132:
#line 1238 "asn1p_y.y" #line 1239 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; } { yyval.a_type = ASN_BASIC_INTEGER; }
break; break;
case 133: case 133:
#line 1239 "asn1p_y.y" #line 1240 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; } { yyval.a_type = ASN_BASIC_ENUMERATED; }
break; break;
case 134: case 134:
#line 1240 "asn1p_y.y" #line 1241 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; } { yyval.a_type = ASN_BASIC_BIT_STRING; }
break; break;
case 135: case 135:
#line 1244 "asn1p_y.y" #line 1245 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -2900,7 +2901,7 @@ yyreduce: ...@@ -2900,7 +2901,7 @@ yyreduce:
break; break;
case 136: case 136:
#line 1250 "asn1p_y.y" #line 1251 "asn1p_y.y"
{ {
if(yyvsp[0].a_expr) { if(yyvsp[0].a_expr) {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
...@@ -2914,12 +2915,12 @@ yyreduce: ...@@ -2914,12 +2915,12 @@ yyreduce:
break; break;
case 137: case 137:
#line 1263 "asn1p_y.y" #line 1264 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; } { yyval.a_type = ASN_STRING_BMPString; }
break; break;
case 138: case 138:
#line 1264 "asn1p_y.y" #line 1265 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_GeneralString; yyval.a_type = ASN_STRING_GeneralString;
return yyerror("GeneralString is not supported"); return yyerror("GeneralString is not supported");
...@@ -2927,7 +2928,7 @@ yyreduce: ...@@ -2927,7 +2928,7 @@ yyreduce:
break; break;
case 139: case 139:
#line 1268 "asn1p_y.y" #line 1269 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_GraphicString; yyval.a_type = ASN_STRING_GraphicString;
return yyerror("GraphicString is not supported"); return yyerror("GraphicString is not supported");
...@@ -2935,27 +2936,27 @@ yyreduce: ...@@ -2935,27 +2936,27 @@ yyreduce:
break; break;
case 140: case 140:
#line 1272 "asn1p_y.y" #line 1273 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; } { yyval.a_type = ASN_STRING_IA5String; }
break; break;
case 141: case 141:
#line 1273 "asn1p_y.y" #line 1274 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; } { yyval.a_type = ASN_STRING_ISO646String; }
break; break;
case 142: case 142:
#line 1274 "asn1p_y.y" #line 1275 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; } { yyval.a_type = ASN_STRING_NumericString; }
break; break;
case 143: case 143:
#line 1275 "asn1p_y.y" #line 1276 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; } { yyval.a_type = ASN_STRING_PrintableString; }
break; break;
case 144: case 144:
#line 1276 "asn1p_y.y" #line 1277 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_T61String; yyval.a_type = ASN_STRING_T61String;
return yyerror("T61String not implemented yet"); return yyerror("T61String not implemented yet");
...@@ -2963,22 +2964,22 @@ yyreduce: ...@@ -2963,22 +2964,22 @@ yyreduce:
break; break;
case 145: case 145:
#line 1280 "asn1p_y.y" #line 1281 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; } { yyval.a_type = ASN_STRING_TeletexString; }
break; break;
case 146: case 146:
#line 1281 "asn1p_y.y" #line 1282 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; } { yyval.a_type = ASN_STRING_UniversalString; }
break; break;
case 147: case 147:
#line 1282 "asn1p_y.y" #line 1283 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; } { yyval.a_type = ASN_STRING_UTF8String; }
break; break;
case 148: case 148:
#line 1283 "asn1p_y.y" #line 1284 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_VideotexString; yyval.a_type = ASN_STRING_VideotexString;
return yyerror("VideotexString is no longer supported"); return yyerror("VideotexString is no longer supported");
...@@ -2986,17 +2987,17 @@ yyreduce: ...@@ -2986,17 +2987,17 @@ yyreduce:
break; break;
case 149: case 149:
#line 1287 "asn1p_y.y" #line 1288 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; } { yyval.a_type = ASN_STRING_VisibleString; }
break; break;
case 150: case 150:
#line 1288 "asn1p_y.y" #line 1289 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; } { yyval.a_type = ASN_STRING_ObjectDescriptor; }
break; break;
case 151: case 151:
#line 1292 "asn1p_y.y" #line 1293 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID); assert(yyval.a_expr->expr_type == A1TC_INVALID);
...@@ -3006,7 +3007,7 @@ yyreduce: ...@@ -3006,7 +3007,7 @@ yyreduce:
break; break;
case 152: case 152:
#line 1298 "asn1p_y.y" #line 1299 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID); assert(yyval.a_expr->expr_type == A1TC_INVALID);
...@@ -3016,7 +3017,7 @@ yyreduce: ...@@ -3016,7 +3017,7 @@ yyreduce:
break; break;
case 153: case 153:
#line 1304 "asn1p_y.y" #line 1305 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->expr_type == A1TC_INVALID); assert(yyval.a_expr->expr_type == A1TC_INVALID);
...@@ -3026,7 +3027,7 @@ yyreduce: ...@@ -3026,7 +3027,7 @@ yyreduce:
break; break;
case 154: case 154:
#line 1310 "asn1p_y.y" #line 1311 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3038,7 +3039,7 @@ yyreduce: ...@@ -3038,7 +3039,7 @@ yyreduce:
break; break;
case 155: case 155:
#line 1318 "asn1p_y.y" #line 1319 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3050,7 +3051,7 @@ yyreduce: ...@@ -3050,7 +3051,7 @@ yyreduce:
break; break;
case 156: case 156:
#line 1326 "asn1p_y.y" #line 1327 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3060,7 +3061,7 @@ yyreduce: ...@@ -3060,7 +3061,7 @@ yyreduce:
break; break;
case 157: case 157:
#line 1332 "asn1p_y.y" #line 1333 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
...@@ -3075,17 +3076,17 @@ yyreduce: ...@@ -3075,17 +3076,17 @@ yyreduce:
break; break;
case 158: case 158:
#line 1349 "asn1p_y.y" #line 1350 "asn1p_y.y"
{ yyval.a_constr = 0; } { yyval.a_constr = 0; }
break; break;
case 159: case 159:
#line 1350 "asn1p_y.y" #line 1351 "asn1p_y.y"
{ yyval.a_constr = yyvsp[0].a_constr; } { yyval.a_constr = yyvsp[0].a_constr; }
break; break;
case 165: case 165:
#line 1358 "asn1p_y.y" #line 1359 "asn1p_y.y"
{ {
/* /*
* This is a special case, for compatibility purposes. * This is a special case, for compatibility purposes.
...@@ -3101,35 +3102,35 @@ yyreduce: ...@@ -3101,35 +3102,35 @@ yyreduce:
break; break;
case 166: case 166:
#line 1370 "asn1p_y.y" #line 1371 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[0].a_constr, 0);
} }
break; break;
case 167: case 167:
#line 1373 "asn1p_y.y" #line 1374 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-1].a_constr, yyvsp[0].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-1].a_constr, yyvsp[0].a_constr);
} }
break; break;
case 168: case 168:
#line 1379 "asn1p_y.y" #line 1380 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[-1].a_constr; yyval.a_constr = yyvsp[-1].a_constr;
} }
break; break;
case 169: case 169:
#line 1385 "asn1p_y.y" #line 1386 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
} }
break; break;
case 170: case 170:
#line 1388 "asn1p_y.y" #line 1389 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -3140,7 +3141,7 @@ yyreduce: ...@@ -3140,7 +3141,7 @@ yyreduce:
break; break;
case 171: case 171:
#line 1395 "asn1p_y.y" #line 1396 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -3152,7 +3153,7 @@ yyreduce: ...@@ -3152,7 +3153,7 @@ yyreduce:
break; break;
case 172: case 172:
#line 1403 "asn1p_y.y" #line 1404 "asn1p_y.y"
{ {
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr); checkmem(yyval.a_constr);
...@@ -3161,7 +3162,7 @@ yyreduce: ...@@ -3161,7 +3162,7 @@ yyreduce:
break; break;
case 173: case 173:
#line 1408 "asn1p_y.y" #line 1409 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -3172,48 +3173,48 @@ yyreduce: ...@@ -3172,48 +3173,48 @@ yyreduce:
break; break;
case 174: case 174:
#line 1417 "asn1p_y.y" #line 1418 "asn1p_y.y"
{ yyval.a_constr = yyvsp[0].a_constr; } { yyval.a_constr = yyvsp[0].a_constr; }
break; break;
case 175: case 175:
#line 1420 "asn1p_y.y" #line 1421 "asn1p_y.y"
{ yyval.a_constr = yyvsp[0].a_constr; } { yyval.a_constr = yyvsp[0].a_constr; }
break; break;
case 176: case 176:
#line 1421 "asn1p_y.y" #line 1422 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_UNI, yyvsp[-2].a_constr, yyvsp[0].a_constr);
} }
break; break;
case 177: case 177:
#line 1427 "asn1p_y.y" #line 1428 "asn1p_y.y"
{ yyval.a_constr = yyvsp[0].a_constr; } { yyval.a_constr = yyvsp[0].a_constr; }
break; break;
case 178: case 178:
#line 1429 "asn1p_y.y" #line 1430 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_INT, yyvsp[-2].a_constr, yyvsp[0].a_constr);
} }
break; break;
case 179: case 179:
#line 1435 "asn1p_y.y" #line 1436 "asn1p_y.y"
{ yyval.a_constr = yyvsp[0].a_constr; } { yyval.a_constr = yyvsp[0].a_constr; }
break; break;
case 180: case 180:
#line 1436 "asn1p_y.y" #line 1437 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_EXC, yyvsp[-2].a_constr, yyvsp[0].a_constr);
} }
break; break;
case 181: case 181:
#line 1442 "asn1p_y.y" #line 1443 "asn1p_y.y"
{ {
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr); checkmem(yyval.a_constr);
...@@ -3223,7 +3224,7 @@ yyreduce: ...@@ -3223,7 +3224,7 @@ yyreduce:
break; break;
case 182: case 182:
#line 1448 "asn1p_y.y" #line 1449 "asn1p_y.y"
{ {
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr); checkmem(yyval.a_constr);
...@@ -3234,7 +3235,7 @@ yyreduce: ...@@ -3234,7 +3235,7 @@ yyreduce:
break; break;
case 183: case 183:
#line 1455 "asn1p_y.y" #line 1456 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
...@@ -3246,62 +3247,62 @@ yyreduce: ...@@ -3246,62 +3247,62 @@ yyreduce:
break; break;
case 184: case 184:
#line 1463 "asn1p_y.y" #line 1464 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
} }
break; break;
case 185: case 185:
#line 1466 "asn1p_y.y" #line 1467 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
} }
break; break;
case 186: case 186:
#line 1472 "asn1p_y.y" #line 1473 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; } { yyval.a_ctype = ACT_EL_RANGE; }
break; break;
case 187: case 187:
#line 1473 "asn1p_y.y" #line 1474 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; } { yyval.a_ctype = ACT_EL_RLRANGE; }
break; break;
case 188: case 188:
#line 1474 "asn1p_y.y" #line 1475 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; } { yyval.a_ctype = ACT_EL_LLRANGE; }
break; break;
case 189: case 189:
#line 1475 "asn1p_y.y" #line 1476 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; } { yyval.a_ctype = ACT_EL_ULRANGE; }
break; break;
case 190: case 190:
#line 1479 "asn1p_y.y" #line 1480 "asn1p_y.y"
{ {
yyval.a_ctype = ACT_CT_SIZE; yyval.a_ctype = ACT_CT_SIZE;
} }
break; break;
case 191: case 191:
#line 1482 "asn1p_y.y" #line 1483 "asn1p_y.y"
{ {
yyval.a_ctype = ACT_CT_FROM; yyval.a_ctype = ACT_CT_FROM;
} }
break; break;
case 192: case 192:
#line 1488 "asn1p_y.y" #line 1489 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
} }
break; break;
case 193: case 193:
#line 1491 "asn1p_y.y" #line 1492 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -3316,7 +3317,7 @@ yyreduce: ...@@ -3316,7 +3317,7 @@ yyreduce:
break; break;
case 194: case 194:
#line 1502 "asn1p_y.y" #line 1503 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0); yyval.a_value = asn1p_value_frombuf(yyvsp[0].tv_opaque.buf, yyvsp[0].tv_opaque.len, 0);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3324,7 +3325,7 @@ yyreduce: ...@@ -3324,7 +3325,7 @@ yyreduce:
break; break;
case 195: case 195:
#line 1506 "asn1p_y.y" #line 1507 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_fromint(123); yyval.a_value = asn1p_value_fromint(123);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3333,7 +3334,7 @@ yyreduce: ...@@ -3333,7 +3334,7 @@ yyreduce:
break; break;
case 196: case 196:
#line 1511 "asn1p_y.y" #line 1512 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_fromint(321); yyval.a_value = asn1p_value_fromint(321);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3342,7 +3343,7 @@ yyreduce: ...@@ -3342,7 +3343,7 @@ yyreduce:
break; break;
case 197: case 197:
#line 1516 "asn1p_y.y" #line 1517 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_fromint(0); yyval.a_value = asn1p_value_fromint(0);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3351,7 +3352,7 @@ yyreduce: ...@@ -3351,7 +3352,7 @@ yyreduce:
break; break;
case 198: case 198:
#line 1521 "asn1p_y.y" #line 1522 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_fromint(1); yyval.a_value = asn1p_value_fromint(1);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3360,28 +3361,28 @@ yyreduce: ...@@ -3360,28 +3361,28 @@ yyreduce:
break; break;
case 199: case 199:
#line 1529 "asn1p_y.y" #line 1530 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0); CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-1].a_constr, 0);
} }
break; break;
case 200: case 200:
#line 1535 "asn1p_y.y" #line 1536 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
} }
break; break;
case 201: case 201:
#line 1538 "asn1p_y.y" #line 1539 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMPS, yyvsp[-2].a_constr, yyvsp[0].a_constr);
} }
break; break;
case 202: case 202:
#line 1544 "asn1p_y.y" #line 1545 "asn1p_y.y"
{ {
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr); checkmem(yyval.a_constr);
...@@ -3390,7 +3391,7 @@ yyreduce: ...@@ -3390,7 +3391,7 @@ yyreduce:
break; break;
case 203: case 203:
#line 1549 "asn1p_y.y" #line 1550 "asn1p_y.y"
{ {
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr); checkmem(yyval.a_constr);
...@@ -3401,52 +3402,52 @@ yyreduce: ...@@ -3401,52 +3402,52 @@ yyreduce:
break; break;
case 204: case 204:
#line 1562 "asn1p_y.y" #line 1563 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; } { yyval.a_pres = ACPRES_DEFAULT; }
break; break;
case 205: case 205:
#line 1563 "asn1p_y.y" #line 1564 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; } { yyval.a_pres = yyvsp[0].a_pres; }
break; break;
case 206: case 206:
#line 1567 "asn1p_y.y" #line 1568 "asn1p_y.y"
{ {
yyval.a_pres = ACPRES_PRESENT; yyval.a_pres = ACPRES_PRESENT;
} }
break; break;
case 207: case 207:
#line 1570 "asn1p_y.y" #line 1571 "asn1p_y.y"
{ {
yyval.a_pres = ACPRES_ABSENT; yyval.a_pres = ACPRES_ABSENT;
} }
break; break;
case 208: case 208:
#line 1573 "asn1p_y.y" #line 1574 "asn1p_y.y"
{ {
yyval.a_pres = ACPRES_OPTIONAL; yyval.a_pres = ACPRES_OPTIONAL;
} }
break; break;
case 209: case 209:
#line 1579 "asn1p_y.y" #line 1580 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
} }
break; break;
case 210: case 210:
#line 1582 "asn1p_y.y" #line 1583 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
} }
break; break;
case 211: case 211:
#line 1591 "asn1p_y.y" #line 1592 "asn1p_y.y"
{ {
asn1p_ref_t *ref = asn1p_ref_new(yylineno); asn1p_ref_t *ref = asn1p_ref_new(yylineno);
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
...@@ -3462,14 +3463,14 @@ yyreduce: ...@@ -3462,14 +3463,14 @@ yyreduce:
break; break;
case 212: case 212:
#line 1606 "asn1p_y.y" #line 1607 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_CRC, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
} }
break; break;
case 213: case 213:
#line 1612 "asn1p_y.y" #line 1613 "asn1p_y.y"
{ {
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
checkmem(yyval.a_constr); checkmem(yyval.a_constr);
...@@ -3479,7 +3480,7 @@ yyreduce: ...@@ -3479,7 +3480,7 @@ yyreduce:
break; break;
case 214: case 214:
#line 1618 "asn1p_y.y" #line 1619 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -3491,7 +3492,7 @@ yyreduce: ...@@ -3491,7 +3492,7 @@ yyreduce:
break; break;
case 215: case 215:
#line 1632 "asn1p_y.y" #line 1633 "asn1p_y.y"
{ {
char *p = malloc(strlen(yyvsp[0].tv_str) + 2); char *p = malloc(strlen(yyvsp[0].tv_str) + 2);
int ret; int ret;
...@@ -3506,7 +3507,7 @@ yyreduce: ...@@ -3506,7 +3507,7 @@ yyreduce:
break; break;
case 216: case 216:
#line 1643 "asn1p_y.y" #line 1644 "asn1p_y.y"
{ {
char *p = malloc(strlen(yyvsp[0].tv_str) + 3); char *p = malloc(strlen(yyvsp[0].tv_str) + 3);
int ret; int ret;
...@@ -3522,14 +3523,14 @@ yyreduce: ...@@ -3522,14 +3523,14 @@ yyreduce:
break; break;
case 217: case 217:
#line 1659 "asn1p_y.y" #line 1660 "asn1p_y.y"
{ {
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
} }
break; break;
case 218: case 218:
#line 1662 "asn1p_y.y" #line 1663 "asn1p_y.y"
{ {
int l1 = strlen(yyvsp[-2].tv_str); int l1 = strlen(yyvsp[-2].tv_str);
int l3 = strlen(yyvsp[0].tv_str); int l3 = strlen(yyvsp[0].tv_str);
...@@ -3542,24 +3543,24 @@ yyreduce: ...@@ -3542,24 +3543,24 @@ yyreduce:
break; break;
case 219: case 219:
#line 1680 "asn1p_y.y" #line 1681 "asn1p_y.y"
{ yyval.a_marker = EM_NOMARK; } { yyval.a_marker = EM_NOMARK; }
break; break;
case 220: case 220:
#line 1681 "asn1p_y.y" #line 1682 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; } { yyval.a_marker = yyvsp[0].a_marker; }
break; break;
case 221: case 221:
#line 1685 "asn1p_y.y" #line 1686 "asn1p_y.y"
{ {
yyval.a_marker = EM_OPTIONAL; yyval.a_marker = EM_OPTIONAL;
} }
break; break;
case 222: case 222:
#line 1688 "asn1p_y.y" #line 1689 "asn1p_y.y"
{ {
yyval.a_marker = EM_DEFAULT; yyval.a_marker = EM_DEFAULT;
/* FIXME: store DefaultValue somewhere */ /* FIXME: store DefaultValue somewhere */
...@@ -3567,30 +3568,30 @@ yyreduce: ...@@ -3567,30 +3568,30 @@ yyreduce:
break; break;
case 223: case 223:
#line 1695 "asn1p_y.y" #line 1696 "asn1p_y.y"
{ {
} }
break; break;
case 224: case 224:
#line 1697 "asn1p_y.y" #line 1698 "asn1p_y.y"
{ {
} }
break; break;
case 225: case 225:
#line 1699 "asn1p_y.y" #line 1700 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); } { asn1p_lexer_hack_push_opaque_state(); }
break; break;
case 226: case 226:
#line 1699 "asn1p_y.y" #line 1700 "asn1p_y.y"
{ {
} }
break; break;
case 227: case 227:
#line 1720 "asn1p_y.y" #line 1721 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3598,14 +3599,14 @@ yyreduce: ...@@ -3598,14 +3599,14 @@ yyreduce:
break; break;
case 228: case 228:
#line 1724 "asn1p_y.y" #line 1725 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
} }
break; break;
case 229: case 229:
#line 1730 "asn1p_y.y" #line 1731 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3614,7 +3615,7 @@ yyreduce: ...@@ -3614,7 +3615,7 @@ yyreduce:
break; break;
case 230: case 230:
#line 1735 "asn1p_y.y" #line 1736 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next); TQ_ADD(&(yyval.a_expr->members), yyvsp[0].a_expr, next);
...@@ -3622,7 +3623,7 @@ yyreduce: ...@@ -3622,7 +3623,7 @@ yyreduce:
break; break;
case 231: case 231:
#line 1742 "asn1p_y.y" #line 1743 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3633,7 +3634,7 @@ yyreduce: ...@@ -3633,7 +3634,7 @@ yyreduce:
break; break;
case 232: case 232:
#line 1749 "asn1p_y.y" #line 1750 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3645,7 +3646,7 @@ yyreduce: ...@@ -3645,7 +3646,7 @@ yyreduce:
break; break;
case 233: case 233:
#line 1757 "asn1p_y.y" #line 1758 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3657,7 +3658,7 @@ yyreduce: ...@@ -3657,7 +3658,7 @@ yyreduce:
break; break;
case 234: case 234:
#line 1765 "asn1p_y.y" #line 1766 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3668,7 +3669,7 @@ yyreduce: ...@@ -3668,7 +3669,7 @@ yyreduce:
break; break;
case 235: case 235:
#line 1772 "asn1p_y.y" #line 1773 "asn1p_y.y"
{ {
yyval.a_expr = asn1p_expr_new(asn1p_lineno); yyval.a_expr = asn1p_expr_new(asn1p_lineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -3680,7 +3681,7 @@ yyreduce: ...@@ -3680,7 +3681,7 @@ yyreduce:
break; break;
case 236: case 236:
#line 1783 "asn1p_y.y" #line 1784 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int); yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3688,7 +3689,7 @@ yyreduce: ...@@ -3688,7 +3689,7 @@ yyreduce:
break; break;
case 237: case 237:
#line 1787 "asn1p_y.y" #line 1788 "asn1p_y.y"
{ {
yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int); yyval.a_value = asn1p_value_fromint(yyvsp[0].a_int);
checkmem(yyval.a_value); checkmem(yyval.a_value);
...@@ -3696,17 +3697,17 @@ yyreduce: ...@@ -3696,17 +3697,17 @@ yyreduce:
break; break;
case 238: case 238:
#line 1818 "asn1p_y.y" #line 1819 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); } { memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); }
break; break;
case 239: case 239:
#line 1819 "asn1p_y.y" #line 1820 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; } { yyval.a_tag = yyvsp[0].a_tag; }
break; break;
case 240: case 240:
#line 1823 "asn1p_y.y" #line 1824 "asn1p_y.y"
{ {
yyval.a_tag = yyvsp[0].a_tag; yyval.a_tag = yyvsp[0].a_tag;
yyval.a_tag.tag_mode = TM_DEFAULT; yyval.a_tag.tag_mode = TM_DEFAULT;
...@@ -3714,7 +3715,7 @@ yyreduce: ...@@ -3714,7 +3715,7 @@ yyreduce:
break; break;
case 241: case 241:
#line 1827 "asn1p_y.y" #line 1828 "asn1p_y.y"
{ {
yyval.a_tag = yyvsp[-1].a_tag; yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = TM_IMPLICIT; yyval.a_tag.tag_mode = TM_IMPLICIT;
...@@ -3722,7 +3723,7 @@ yyreduce: ...@@ -3722,7 +3723,7 @@ yyreduce:
break; break;
case 242: case 242:
#line 1831 "asn1p_y.y" #line 1832 "asn1p_y.y"
{ {
yyval.a_tag = yyvsp[-1].a_tag; yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = TM_EXPLICIT; yyval.a_tag.tag_mode = TM_EXPLICIT;
...@@ -3730,7 +3731,7 @@ yyreduce: ...@@ -3730,7 +3731,7 @@ yyreduce:
break; break;
case 243: case 243:
#line 1838 "asn1p_y.y" #line 1839 "asn1p_y.y"
{ {
checkmem(yyvsp[0].tv_str); checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
...@@ -3738,7 +3739,7 @@ yyreduce: ...@@ -3738,7 +3739,7 @@ yyreduce:
break; break;
case 244: case 244:
#line 1842 "asn1p_y.y" #line 1843 "asn1p_y.y"
{ {
checkmem(yyvsp[0].tv_str); checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
...@@ -3746,7 +3747,7 @@ yyreduce: ...@@ -3746,7 +3747,7 @@ yyreduce:
break; break;
case 245: case 245:
#line 1849 "asn1p_y.y" #line 1850 "asn1p_y.y"
{ {
checkmem(yyvsp[0].tv_str); checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
...@@ -3754,7 +3755,7 @@ yyreduce: ...@@ -3754,7 +3755,7 @@ yyreduce:
break; break;
case 246: case 246:
#line 1856 "asn1p_y.y" #line 1857 "asn1p_y.y"
{ {
checkmem(yyvsp[0].tv_str); checkmem(yyvsp[0].tv_str);
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
...@@ -3762,7 +3763,7 @@ yyreduce: ...@@ -3762,7 +3763,7 @@ yyreduce:
break; break;
case 247: case 247:
#line 1863 "asn1p_y.y" #line 1864 "asn1p_y.y"
{ {
memset(&yyval.tv_nametag, 0, sizeof(yyval.tv_nametag)); memset(&yyval.tv_nametag, 0, sizeof(yyval.tv_nametag));
yyval.tv_nametag.name = yyvsp[0].tv_str; yyval.tv_nametag.name = yyvsp[0].tv_str;
...@@ -3770,7 +3771,7 @@ yyreduce: ...@@ -3770,7 +3771,7 @@ yyreduce:
break; break;
case 248: case 248:
#line 1867 "asn1p_y.y" #line 1868 "asn1p_y.y"
{ {
yyval.tv_nametag.name = yyvsp[-1].tv_str; yyval.tv_nametag.name = yyvsp[-1].tv_str;
yyval.tv_nametag.tag = yyvsp[0].a_tag; yyval.tv_nametag.tag = yyvsp[0].a_tag;
...@@ -3781,7 +3782,7 @@ yyreduce: ...@@ -3781,7 +3782,7 @@ yyreduce:
} }
/* Line 1016 of /usr/local/share/bison/yacc.c. */ /* Line 1016 of /usr/local/share/bison/yacc.c. */
#line 3785 "y.tab.c" #line 3786 "asn1p_y.c"
yyvsp -= yylen; yyvsp -= yylen;
yyssp -= yylen; yyssp -= yylen;
...@@ -4000,7 +4001,7 @@ yyreturn: ...@@ -4000,7 +4001,7 @@ yyreturn:
} }
#line 1874 "asn1p_y.y" #line 1875 "asn1p_y.y"
......
...@@ -23,8 +23,8 @@ ...@@ -23,8 +23,8 @@
This special exception was added by the Free Software Foundation This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */ in version 1.24 of Bison. */
#ifndef BISON_Y_TAB_H #ifndef BISON_ASN_P_Y_H
# define BISON_Y_TAB_H # define BISON_ASN_P_Y_H
/* Tokens. */ /* Tokens. */
#ifndef YYTOKENTYPE #ifndef YYTOKENTYPE
...@@ -274,5 +274,5 @@ typedef union { ...@@ -274,5 +274,5 @@ typedef union {
extern YYSTYPE asn1p_lval; extern YYSTYPE asn1p_lval;
#endif /* not BISON_Y_TAB_H */ #endif /* not BISON_ASN_P_Y_H */
...@@ -456,12 +456,13 @@ ModuleSpecificationBody: ...@@ -456,12 +456,13 @@ ModuleSpecificationBody:
#error MY_IMPORT DEFINED ELSEWHERE! #error MY_IMPORT DEFINED ELSEWHERE!
#endif #endif
#define MY_IMPORT(foo,field) do { \ #define MY_IMPORT(foo,field) do { \
if(TQ_FIRST(&($2->foo))) { \ while(TQ_FIRST(&($2->foo))) { \
TQ_ADD(&($$->foo), \ TQ_ADD(&($$->foo), \
TQ_REMOVE(&($2->foo), field), \ TQ_REMOVE(&($2->foo), field), \
field); \ field); \
} \
assert(TQ_FIRST(&($2->foo)) == 0); \ assert(TQ_FIRST(&($2->foo)) == 0); \
} } while(0) } while(0)
MY_IMPORT(imports, xp_next); MY_IMPORT(imports, xp_next);
MY_IMPORT(exports, xp_next); MY_IMPORT(exports, xp_next);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment