Commit 70853058 authored by Lev Walkin's avatar Lev Walkin

upgrade

parent 04affbfa
...@@ -176,7 +176,7 @@ typedef struct asn1p_expr_s { ...@@ -176,7 +176,7 @@ typedef struct asn1p_expr_s {
enum asn1p_expr_marker_e { enum asn1p_expr_marker_e {
EM_NOMARK, EM_NOMARK,
EM_INDIRECT = 0x01, /* 00001 Represent as pointer */ EM_INDIRECT = 0x01, /* 00001 Represent as pointer */
EM_OMITABLE = 0x03, /* 00011 May be absent in encoding */ EM_OMITABLE = 0x02, /* 00010 May be absent in encoding */
EM_OPTIONAL = 0x07, /* 00111 Optional member */ EM_OPTIONAL = 0x07, /* 00111 Optional member */
EM_DEFAULT = 0x0F, /* 01111 default_value */ EM_DEFAULT = 0x0F, /* 01111 default_value */
EM_UNRECURSE = 0x10, /* 10000 Use safe naming */ EM_UNRECURSE = 0x10, /* 10000 Use safe naming */
...@@ -225,6 +225,7 @@ typedef struct asn1p_expr_s { ...@@ -225,6 +225,7 @@ typedef struct asn1p_expr_s {
*/ */
int _anonymous_type; /* This type is unnamed */ int _anonymous_type; /* This type is unnamed */
int _type_unique_index; /* A per top-level-type unique index */ int _type_unique_index; /* A per top-level-type unique index */
int _type_referenced; /* This type is referenced from another place */
/* /*
* Opaque data may be attached to this structure, * Opaque data may be attached to this structure,
......
...@@ -386,31 +386,31 @@ static const short yyrline[] = { 0, ...@@ -386,31 +386,31 @@ static const short yyrline[] = { 0,
320, 326, 332, 348, 373, 375, 378, 382, 387, 394, 320, 326, 332, 348, 373, 375, 378, 382, 387, 394,
402, 407, 411, 420, 422, 430, 434, 442, 446, 449, 402, 407, 411, 420, 422, 430, 434, 442, 446, 449,
452, 456, 476, 478, 486, 490, 522, 526, 535, 542, 452, 456, 476, 478, 486, 490, 522, 526, 535, 542,
555, 562, 564, 576, 589, 600, 605, 611, 617, 619, 555, 562, 564, 576, 588, 599, 604, 610, 616, 618,
622, 633, 639, 645, 652, 658, 666, 670, 673, 680, 621, 632, 638, 644, 651, 657, 665, 669, 672, 679,
686, 692, 699, 705, 714, 716, 725, 733, 747, 759, 685, 691, 698, 704, 713, 715, 724, 732, 746, 758,
765, 781, 790, 800, 810, 815, 822, 829, 839, 845, 764, 780, 789, 799, 809, 814, 821, 828, 838, 844,
851, 855, 878, 880, 882, 888, 894, 902, 908, 915, 850, 854, 877, 879, 881, 887, 893, 901, 907, 914,
920, 926, 932, 938, 941, 947, 957, 959, 962, 970, 919, 925, 931, 937, 940, 946, 956, 958, 961, 969,
976, 985, 991, 1008, 1010, 1015, 1019, 1024, 1029, 1035, 975, 984, 990, 1007, 1009, 1014, 1018, 1023, 1028, 1034,
1039, 1050, 1059, 1068, 1079, 1101, 1108, 1127, 1131, 1137, 1038, 1049, 1058, 1067, 1078, 1100, 1107, 1126, 1130, 1136,
1143, 1149, 1159, 1169, 1175, 1189, 1213, 1220, 1234, 1243, 1142, 1148, 1158, 1168, 1174, 1188, 1212, 1219, 1233, 1242,
1253, 1263, 1273, 1281, 1302, 1311, 1320, 1321, 1323, 1330, 1252, 1262, 1272, 1280, 1301, 1310, 1319, 1320, 1322, 1329,
1342, 1352, 1360, 1360, 1365, 1370, 1375, 1380, 1384, 1388, 1341, 1351, 1359, 1359, 1364, 1369, 1374, 1379, 1383, 1387,
1391, 1394, 1399, 1411, 1428, 1433, 1438, 1471, 1481, 1495, 1390, 1393, 1398, 1410, 1427, 1432, 1437, 1470, 1480, 1494,
1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1496, 1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505,
1507, 1508, 1514, 1516, 1517, 1520, 1527, 1539, 1541, 1545, 1506, 1507, 1513, 1515, 1516, 1519, 1526, 1538, 1540, 1544,
1549, 1550, 1551, 1552, 1553, 1557, 1558, 1559, 1560, 1564, 1548, 1549, 1550, 1551, 1552, 1556, 1557, 1558, 1559, 1563,
1565, 1572, 1572, 1573, 1573, 1574, 1576, 1578, 1583, 1587, 1564, 1571, 1571, 1572, 1572, 1573, 1575, 1577, 1582, 1586,
1596, 1600, 1605, 1609, 1615, 1625, 1629, 1632, 1635, 1638, 1595, 1599, 1604, 1608, 1614, 1624, 1628, 1631, 1634, 1637,
1643, 1652, 1660, 1666, 1672, 1679, 1687, 1695, 1704, 1707, 1642, 1651, 1659, 1665, 1671, 1678, 1686, 1694, 1703, 1706,
1710, 1711, 1721, 1723, 1724, 1725, 1728, 1732, 1737, 1743, 1709, 1710, 1720, 1722, 1723, 1724, 1727, 1731, 1736, 1742,
1748, 1751, 1754, 1767, 1781, 1785, 1790, 1794, 1799, 1806, 1747, 1750, 1753, 1766, 1780, 1784, 1789, 1793, 1798, 1805,
1819, 1821, 1824, 1828, 1831, 1836, 1840, 1848, 1863, 1869, 1818, 1820, 1823, 1827, 1830, 1835, 1839, 1847, 1862, 1868,
1876, 1889, 1901, 1916, 1920, 1937, 1942, 1945, 1950, 1972, 1875, 1888, 1900, 1915, 1919, 1936, 1941, 1944, 1949, 1971,
1977, 1982, 1988, 1994, 2002, 2010, 2018, 2025, 2035, 2040, 1976, 1981, 1987, 1993, 2001, 2009, 2017, 2024, 2034, 2039,
2070, 2072, 2075, 2082, 2088, 2090, 2091, 2092, 2095, 2097, 2069, 2071, 2074, 2081, 2087, 2089, 2090, 2091, 2094, 2096,
2098, 2101, 2106, 2113, 2120, 2122, 2127 2097, 2100, 2105, 2112, 2119, 2121, 2126
}; };
#endif #endif
...@@ -1624,13 +1624,12 @@ case 34: ...@@ -1624,13 +1624,12 @@ case 34:
#line 576 "asn1p_y.y" #line 576 "asn1p_y.y"
{ {
return yyerror( return yyerror(
"Attempt to redefine a standard basic type, " "Attempt to redefine a standard basic string type, "
"use -ftypesXY to switch back " "please comment out or remove this type redefinition.");
"to older version of ASN.1 standard");
; ;
break;} break;}
case 35: case 35:
#line 590 "asn1p_y.y" #line 589 "asn1p_y.y"
{ {
if(!saved_aid && 0) if(!saved_aid && 0)
return yyerror("Unterminated IMPORTS FROM, " return yyerror("Unterminated IMPORTS FROM, "
...@@ -1640,13 +1639,13 @@ case 35: ...@@ -1640,13 +1639,13 @@ case 35:
; ;
break;} break;}
case 36: case 36:
#line 600 "asn1p_y.y" #line 599 "asn1p_y.y"
{ {
return yyerror("Empty IMPORTS list"); return yyerror("Empty IMPORTS list");
; ;
break;} break;}
case 37: case 37:
#line 606 "asn1p_y.y" #line 605 "asn1p_y.y"
{ {
yyval.a_module = asn1p_module_new(); yyval.a_module = asn1p_module_new();
checkmem(yyval.a_module); checkmem(yyval.a_module);
...@@ -1654,22 +1653,22 @@ case 37: ...@@ -1654,22 +1653,22 @@ case 37:
; ;
break;} break;}
case 38: case 38:
#line 611 "asn1p_y.y" #line 610 "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);
; ;
break;} break;}
case 39: case 39:
#line 618 "asn1p_y.y" #line 617 "asn1p_y.y"
{ memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); ; { memset(&yyval.a_aid, 0, sizeof(yyval.a_aid)); ;
break;} break;}
case 40: case 40:
#line 619 "asn1p_y.y" #line 618 "asn1p_y.y"
{ yyval.a_aid.oid = yyvsp[0].a_oid; ; { yyval.a_aid.oid = yyvsp[0].a_oid; ;
break;} break;}
case 41: case 41:
#line 623 "asn1p_y.y" #line 622 "asn1p_y.y"
{ {
yyval.a_xports = yyvsp[-3].a_xports; yyval.a_xports = yyvsp[-3].a_xports;
yyval.a_xports->fromModuleName = yyvsp[-1].tv_str; yyval.a_xports->fromModuleName = yyvsp[-1].tv_str;
...@@ -1680,7 +1679,7 @@ case 41: ...@@ -1680,7 +1679,7 @@ case 41:
; ;
break;} break;}
case 42: case 42:
#line 634 "asn1p_y.y" #line 633 "asn1p_y.y"
{ {
yyval.a_xports = asn1p_xports_new(); yyval.a_xports = asn1p_xports_new();
checkmem(yyval.a_xports); checkmem(yyval.a_xports);
...@@ -1688,14 +1687,14 @@ case 42: ...@@ -1688,14 +1687,14 @@ case 42:
; ;
break;} break;}
case 43: case 43:
#line 639 "asn1p_y.y" #line 638 "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);
; ;
break;} break;}
case 44: case 44:
#line 646 "asn1p_y.y" #line 645 "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);
...@@ -1704,7 +1703,7 @@ case 44: ...@@ -1704,7 +1703,7 @@ case 44:
; ;
break;} break;}
case 45: case 45:
#line 652 "asn1p_y.y" #line 651 "asn1p_y.y"
{ /* Completely equivalent to above */ { /* Completely equivalent to above */
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
checkmem(yyval.a_expr); checkmem(yyval.a_expr);
...@@ -1713,7 +1712,7 @@ case 45: ...@@ -1713,7 +1712,7 @@ case 45:
; ;
break;} break;}
case 46: case 46:
#line 658 "asn1p_y.y" #line 657 "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);
...@@ -1722,19 +1721,19 @@ case 46: ...@@ -1722,19 +1721,19 @@ case 46:
; ;
break;} break;}
case 47: case 47:
#line 667 "asn1p_y.y" #line 666 "asn1p_y.y"
{ {
yyval.a_xports = yyvsp[-1].a_xports; yyval.a_xports = yyvsp[-1].a_xports;
; ;
break;} break;}
case 48: case 48:
#line 670 "asn1p_y.y" #line 669 "asn1p_y.y"
{ {
yyval.a_xports = 0; yyval.a_xports = 0;
; ;
break;} break;}
case 49: case 49:
#line 673 "asn1p_y.y" #line 672 "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();
...@@ -1742,7 +1741,7 @@ case 49: ...@@ -1742,7 +1741,7 @@ case 49:
; ;
break;} break;}
case 50: case 50:
#line 681 "asn1p_y.y" #line 680 "asn1p_y.y"
{ {
yyval.a_xports = asn1p_xports_new(); yyval.a_xports = asn1p_xports_new();
assert(yyval.a_xports); assert(yyval.a_xports);
...@@ -1750,14 +1749,14 @@ case 50: ...@@ -1750,14 +1749,14 @@ case 50:
; ;
break;} break;}
case 51: case 51:
#line 686 "asn1p_y.y" #line 685 "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);
; ;
break;} break;}
case 52: case 52:
#line 693 "asn1p_y.y" #line 692 "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);
...@@ -1766,7 +1765,7 @@ case 52: ...@@ -1766,7 +1765,7 @@ case 52:
; ;
break;} break;}
case 53: case 53:
#line 699 "asn1p_y.y" #line 698 "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);
...@@ -1775,7 +1774,7 @@ case 53: ...@@ -1775,7 +1774,7 @@ case 53:
; ;
break;} break;}
case 54: case 54:
#line 705 "asn1p_y.y" #line 704 "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);
...@@ -1784,11 +1783,11 @@ case 54: ...@@ -1784,11 +1783,11 @@ case 54:
; ;
break;} break;}
case 55: case 55:
#line 716 "asn1p_y.y" #line 715 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ; { asn1p_lexer_hack_push_opaque_state(); ;
break;} break;}
case 56: case 56:
#line 716 "asn1p_y.y" #line 715 "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);
...@@ -1798,7 +1797,7 @@ case 56: ...@@ -1798,7 +1797,7 @@ case 56:
; ;
break;} break;}
case 57: case 57:
#line 726 "asn1p_y.y" #line 725 "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);
...@@ -1808,7 +1807,7 @@ case 57: ...@@ -1808,7 +1807,7 @@ case 57:
; ;
break;} break;}
case 58: case 58:
#line 733 "asn1p_y.y" #line 732 "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);
...@@ -1817,7 +1816,7 @@ case 58: ...@@ -1817,7 +1816,7 @@ case 58:
; ;
break;} break;}
case 59: case 59:
#line 751 "asn1p_y.y" #line 750 "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);
...@@ -1828,7 +1827,7 @@ case 59: ...@@ -1828,7 +1827,7 @@ case 59:
; ;
break;} break;}
case 60: case 60:
#line 759 "asn1p_y.y" #line 758 "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;
...@@ -1837,7 +1836,7 @@ case 60: ...@@ -1837,7 +1836,7 @@ case 60:
; ;
break;} break;}
case 61: case 61:
#line 765 "asn1p_y.y" #line 764 "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;
...@@ -1846,7 +1845,7 @@ case 61: ...@@ -1846,7 +1845,7 @@ case 61:
; ;
break;} break;}
case 62: case 62:
#line 781 "asn1p_y.y" #line 780 "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);
...@@ -1856,7 +1855,7 @@ case 62: ...@@ -1856,7 +1855,7 @@ case 62:
; ;
break;} break;}
case 63: case 63:
#line 791 "asn1p_y.y" #line 790 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_plist = asn1p_paramlist_new(yylineno); yyval.a_plist = asn1p_paramlist_new(yylineno);
...@@ -1868,7 +1867,7 @@ case 63: ...@@ -1868,7 +1867,7 @@ case 63:
; ;
break;} break;}
case 64: case 64:
#line 800 "asn1p_y.y" #line 799 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_plist = yyvsp[-2].a_plist; yyval.a_plist = yyvsp[-2].a_plist;
...@@ -1879,14 +1878,14 @@ case 64: ...@@ -1879,14 +1878,14 @@ case 64:
; ;
break;} break;}
case 65: case 65:
#line 811 "asn1p_y.y" #line 810 "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;
; ;
break;} break;}
case 66: case 66:
#line 815 "asn1p_y.y" #line 814 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno); yyval.a_parg.governor = asn1p_ref_new(yylineno);
...@@ -1896,7 +1895,7 @@ case 66: ...@@ -1896,7 +1895,7 @@ case 66:
; ;
break;} break;}
case 67: case 67:
#line 822 "asn1p_y.y" #line 821 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno); yyval.a_parg.governor = asn1p_ref_new(yylineno);
...@@ -1906,7 +1905,7 @@ case 67: ...@@ -1906,7 +1905,7 @@ case 67:
; ;
break;} break;}
case 68: case 68:
#line 829 "asn1p_y.y" #line 828 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_parg.governor = asn1p_ref_new(yylineno); yyval.a_parg.governor = asn1p_ref_new(yylineno);
...@@ -1917,7 +1916,7 @@ case 68: ...@@ -1917,7 +1916,7 @@ case 68:
; ;
break;} break;}
case 69: case 69:
#line 840 "asn1p_y.y" #line 839 "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);
...@@ -1925,20 +1924,20 @@ case 69: ...@@ -1925,20 +1924,20 @@ case 69:
; ;
break;} break;}
case 70: case 70:
#line 845 "asn1p_y.y" #line 844 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
; ;
break;} break;}
case 71: case 71:
#line 852 "asn1p_y.y" #line 851 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
; ;
break;} break;}
case 72: case 72:
#line 855 "asn1p_y.y" #line 854 "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);
...@@ -1948,15 +1947,15 @@ case 72: ...@@ -1948,15 +1947,15 @@ case 72:
; ;
break;} break;}
case 73: case 73:
#line 879 "asn1p_y.y" #line 878 "asn1p_y.y"
{ yyval.a_expr = asn1p_expr_new(yylineno); ; { yyval.a_expr = asn1p_expr_new(yylineno); ;
break;} break;}
case 74: case 74:
#line 880 "asn1p_y.y" #line 879 "asn1p_y.y"
{ yyval.a_expr = yyvsp[0].a_expr; ; { yyval.a_expr = yyvsp[0].a_expr; ;
break;} break;}
case 75: case 75:
#line 883 "asn1p_y.y" #line 882 "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);
...@@ -1964,14 +1963,14 @@ case 75: ...@@ -1964,14 +1963,14 @@ case 75:
; ;
break;} break;}
case 76: case 76:
#line 888 "asn1p_y.y" #line 887 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
; ;
break;} break;}
case 77: case 77:
#line 895 "asn1p_y.y" #line 894 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
assert(yyval.a_expr->Identifier == 0); assert(yyval.a_expr->Identifier == 0);
...@@ -1981,7 +1980,7 @@ case 77: ...@@ -1981,7 +1980,7 @@ case 77:
; ;
break;} break;}
case 78: case 78:
#line 902 "asn1p_y.y" #line 901 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags; yyvsp[0].a_marker.flags |= yyval.a_expr->marker.flags;
...@@ -1990,7 +1989,7 @@ case 78: ...@@ -1990,7 +1989,7 @@ case 78:
; ;
break;} break;}
case 79: case 79:
#line 908 "asn1p_y.y" #line 907 "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);
...@@ -2000,13 +1999,13 @@ case 79: ...@@ -2000,13 +1999,13 @@ case 79:
; ;
break;} break;}
case 80: case 80:
#line 915 "asn1p_y.y" #line 914 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
; ;
break;} break;}
case 81: case 81:
#line 921 "asn1p_y.y" #line 920 "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);
...@@ -2014,14 +2013,14 @@ case 81: ...@@ -2014,14 +2013,14 @@ case 81:
; ;
break;} break;}
case 82: case 82:
#line 926 "asn1p_y.y" #line 925 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
; ;
break;} break;}
case 83: case 83:
#line 933 "asn1p_y.y" #line 932 "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);
...@@ -2029,20 +2028,20 @@ case 83: ...@@ -2029,20 +2028,20 @@ case 83:
; ;
break;} break;}
case 84: case 84:
#line 938 "asn1p_y.y" #line 937 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
; ;
break;} break;}
case 85: case 85:
#line 941 "asn1p_y.y" #line 940 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
_fixup_anonymous_identifier(yyval.a_expr); _fixup_anonymous_identifier(yyval.a_expr);
; ;
break;} break;}
case 86: case 86:
#line 948 "asn1p_y.y" #line 947 "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);
...@@ -2052,15 +2051,15 @@ case 86: ...@@ -2052,15 +2051,15 @@ case 86:
; ;
break;} break;}
case 87: case 87:
#line 958 "asn1p_y.y" #line 957 "asn1p_y.y"
{ yyval.a_int = 0; ; { yyval.a_int = 0; ;
break;} break;}
case 88: case 88:
#line 959 "asn1p_y.y" #line 958 "asn1p_y.y"
{ yyval.a_int = 1; ; { yyval.a_int = 1; ;
break;} break;}
case 89: case 89:
#line 963 "asn1p_y.y" #line 962 "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);
...@@ -2070,14 +2069,14 @@ case 89: ...@@ -2070,14 +2069,14 @@ case 89:
; ;
break;} break;}
case 90: case 90:
#line 970 "asn1p_y.y" #line 969 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
; ;
break;} break;}
case 91: case 91:
#line 977 "asn1p_y.y" #line 976 "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);
...@@ -2088,7 +2087,7 @@ case 91: ...@@ -2088,7 +2087,7 @@ case 91:
; ;
break;} break;}
case 92: case 92:
#line 985 "asn1p_y.y" #line 984 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
yyval.a_expr->Identifier = yyvsp[-3].a_refcomp.name; yyval.a_expr->Identifier = yyvsp[-3].a_refcomp.name;
...@@ -2097,7 +2096,7 @@ case 92: ...@@ -2097,7 +2096,7 @@ case 92:
; ;
break;} break;}
case 93: case 93:
#line 991 "asn1p_y.y" #line 990 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
...@@ -2115,47 +2114,47 @@ case 93: ...@@ -2115,47 +2114,47 @@ case 93:
; ;
break;} break;}
case 94: case 94:
#line 1009 "asn1p_y.y" #line 1008 "asn1p_y.y"
{ yyval.a_wsynt = 0; ; { yyval.a_wsynt = 0; ;
break;} break;}
case 95: case 95:
#line 1010 "asn1p_y.y" #line 1009 "asn1p_y.y"
{ {
yyval.a_wsynt = yyvsp[0].a_wsynt; yyval.a_wsynt = yyvsp[0].a_wsynt;
; ;
break;} break;}
case 96: case 96:
#line 1017 "asn1p_y.y" #line 1016 "asn1p_y.y"
{ asn1p_lexer_hack_enable_with_syntax(); ; { asn1p_lexer_hack_enable_with_syntax(); ;
break;} break;}
case 97: case 97:
#line 1019 "asn1p_y.y" #line 1018 "asn1p_y.y"
{ {
yyval.a_wsynt = yyvsp[-1].a_wsynt; yyval.a_wsynt = yyvsp[-1].a_wsynt;
; ;
break;} break;}
case 98: case 98:
#line 1025 "asn1p_y.y" #line 1024 "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);
; ;
break;} break;}
case 99: case 99:
#line 1029 "asn1p_y.y" #line 1028 "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);
; ;
break;} break;}
case 100: case 100:
#line 1036 "asn1p_y.y" #line 1035 "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 101: case 101:
#line 1039 "asn1p_y.y" #line 1038 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -2167,7 +2166,7 @@ case 101: ...@@ -2167,7 +2166,7 @@ case 101:
; ;
break;} break;}
case 102: case 102:
#line 1051 "asn1p_y.y" #line 1050 "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);
...@@ -2178,7 +2177,7 @@ case 102: ...@@ -2178,7 +2177,7 @@ case 102:
; ;
break;} break;}
case 103: case 103:
#line 1059 "asn1p_y.y" #line 1058 "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);
...@@ -2190,7 +2189,7 @@ case 103: ...@@ -2190,7 +2189,7 @@ case 103:
; ;
break;} break;}
case 104: case 104:
#line 1068 "asn1p_y.y" #line 1067 "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);
...@@ -2202,7 +2201,7 @@ case 104: ...@@ -2202,7 +2201,7 @@ case 104:
; ;
break;} break;}
case 105: case 105:
#line 1080 "asn1p_y.y" #line 1079 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
yyval.a_expr->tag = yyvsp[-2].a_tag; yyval.a_expr->tag = yyvsp[-2].a_tag;
...@@ -2224,14 +2223,14 @@ case 105: ...@@ -2224,14 +2223,14 @@ case 105:
; ;
break;} break;}
case 106: case 106:
#line 1102 "asn1p_y.y" #line 1101 "asn1p_y.y"
{ {
yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0; yyval.a_int = asn1p_as_pointer ? EM_INDIRECT : 0;
asn1p_as_pointer = 0; asn1p_as_pointer = 0;
; ;
break;} break;}
case 107: case 107:
#line 1109 "asn1p_y.y" #line 1108 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
yyval.a_expr->marker.flags |= yyvsp[-1].a_int; yyval.a_expr->marker.flags |= yyvsp[-1].a_int;
...@@ -2250,13 +2249,13 @@ case 107: ...@@ -2250,13 +2249,13 @@ case 107:
; ;
break;} break;}
case 108: case 108:
#line 1128 "asn1p_y.y" #line 1127 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[0].a_expr; yyval.a_expr = yyvsp[0].a_expr;
; ;
break;} break;}
case 109: case 109:
#line 1131 "asn1p_y.y" #line 1130 "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);
...@@ -2265,7 +2264,7 @@ case 109: ...@@ -2265,7 +2264,7 @@ case 109:
; ;
break;} break;}
case 110: case 110:
#line 1137 "asn1p_y.y" #line 1136 "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);
...@@ -2274,7 +2273,7 @@ case 110: ...@@ -2274,7 +2273,7 @@ case 110:
; ;
break;} break;}
case 111: case 111:
#line 1143 "asn1p_y.y" #line 1142 "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);
...@@ -2283,7 +2282,7 @@ case 111: ...@@ -2283,7 +2282,7 @@ case 111:
; ;
break;} break;}
case 112: case 112:
#line 1149 "asn1p_y.y" #line 1148 "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);
...@@ -2296,7 +2295,7 @@ case 112: ...@@ -2296,7 +2295,7 @@ case 112:
; ;
break;} break;}
case 113: case 113:
#line 1159 "asn1p_y.y" #line 1158 "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);
...@@ -2309,7 +2308,7 @@ case 113: ...@@ -2309,7 +2308,7 @@ case 113:
; ;
break;} break;}
case 114: case 114:
#line 1169 "asn1p_y.y" #line 1168 "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);
...@@ -2318,7 +2317,7 @@ case 114: ...@@ -2318,7 +2317,7 @@ case 114:
; ;
break;} break;}
case 115: case 115:
#line 1175 "asn1p_y.y" #line 1174 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_expr = asn1p_expr_new(yylineno); yyval.a_expr = asn1p_expr_new(yylineno);
...@@ -2332,7 +2331,7 @@ case 115: ...@@ -2332,7 +2331,7 @@ case 115:
; ;
break;} break;}
case 116: case 116:
#line 1189 "asn1p_y.y" #line 1188 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
...@@ -2349,7 +2348,7 @@ case 116: ...@@ -2349,7 +2348,7 @@ case 116:
; ;
break;} break;}
case 117: case 117:
#line 1213 "asn1p_y.y" #line 1212 "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);
...@@ -2359,7 +2358,7 @@ case 117: ...@@ -2359,7 +2358,7 @@ case 117:
; ;
break;} break;}
case 118: case 118:
#line 1220 "asn1p_y.y" #line 1219 "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);
...@@ -2369,7 +2368,7 @@ case 118: ...@@ -2369,7 +2368,7 @@ case 118:
; ;
break;} break;}
case 119: case 119:
#line 1235 "asn1p_y.y" #line 1234 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2380,7 +2379,7 @@ case 119: ...@@ -2380,7 +2379,7 @@ case 119:
; ;
break;} break;}
case 120: case 120:
#line 1243 "asn1p_y.y" #line 1242 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2393,7 +2392,7 @@ case 120: ...@@ -2393,7 +2392,7 @@ case 120:
; ;
break;} break;}
case 121: case 121:
#line 1253 "asn1p_y.y" #line 1252 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2406,7 +2405,7 @@ case 121: ...@@ -2406,7 +2405,7 @@ case 121:
; ;
break;} break;}
case 122: case 122:
#line 1263 "asn1p_y.y" #line 1262 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2419,7 +2418,7 @@ case 122: ...@@ -2419,7 +2418,7 @@ case 122:
; ;
break;} break;}
case 123: case 123:
#line 1273 "asn1p_y.y" #line 1272 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2430,7 +2429,7 @@ case 123: ...@@ -2430,7 +2429,7 @@ case 123:
; ;
break;} break;}
case 124: case 124:
#line 1281 "asn1p_y.y" #line 1280 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = yyvsp[0].a_ref; yyval.a_ref = yyvsp[0].a_ref;
...@@ -2452,7 +2451,7 @@ case 124: ...@@ -2452,7 +2451,7 @@ case 124:
; ;
break;} break;}
case 125: case 125:
#line 1303 "asn1p_y.y" #line 1302 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = asn1p_ref_new(yylineno); yyval.a_ref = asn1p_ref_new(yylineno);
...@@ -2463,7 +2462,7 @@ case 125: ...@@ -2463,7 +2462,7 @@ case 125:
; ;
break;} break;}
case 126: case 126:
#line 1311 "asn1p_y.y" #line 1310 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_ref = yyvsp[-2].a_ref; yyval.a_ref = yyvsp[-2].a_ref;
...@@ -2473,21 +2472,21 @@ case 126: ...@@ -2473,21 +2472,21 @@ case 126:
; ;
break;} break;}
case 129: case 129:
#line 1325 "asn1p_y.y" #line 1324 "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;
; ;
break;} break;}
case 130: case 130:
#line 1330 "asn1p_y.y" #line 1329 "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;
; ;
break;} break;}
case 131: case 131:
#line 1343 "asn1p_y.y" #line 1342 "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);
...@@ -2497,7 +2496,7 @@ case 131: ...@@ -2497,7 +2496,7 @@ case 131:
; ;
break;} break;}
case 132: case 132:
#line 1353 "asn1p_y.y" #line 1352 "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);
...@@ -2507,11 +2506,11 @@ case 132: ...@@ -2507,11 +2506,11 @@ case 132:
; ;
break;} break;}
case 133: case 133:
#line 1360 "asn1p_y.y" #line 1359 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ; { asn1p_lexer_hack_push_opaque_state(); ;
break;} break;}
case 134: case 134:
#line 1360 "asn1p_y.y" #line 1359 "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);
...@@ -2519,7 +2518,7 @@ case 134: ...@@ -2519,7 +2518,7 @@ case 134:
; ;
break;} break;}
case 135: case 135:
#line 1365 "asn1p_y.y" #line 1364 "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);
...@@ -2527,7 +2526,7 @@ case 135: ...@@ -2527,7 +2526,7 @@ case 135:
; ;
break;} break;}
case 136: case 136:
#line 1370 "asn1p_y.y" #line 1369 "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);
...@@ -2535,7 +2534,7 @@ case 136: ...@@ -2535,7 +2534,7 @@ case 136:
; ;
break;} break;}
case 137: case 137:
#line 1375 "asn1p_y.y" #line 1374 "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);
...@@ -2543,39 +2542,39 @@ case 137: ...@@ -2543,39 +2542,39 @@ case 137:
; ;
break;} break;}
case 138: case 138:
#line 1380 "asn1p_y.y" #line 1379 "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);
; ;
break;} break;}
case 139: case 139:
#line 1384 "asn1p_y.y" #line 1383 "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);
; ;
break;} break;}
case 140: case 140:
#line 1388 "asn1p_y.y" #line 1387 "asn1p_y.y"
{ {
yyval.a_value = yyval.a_value; yyval.a_value = yyval.a_value;
; ;
break;} break;}
case 141: case 141:
#line 1391 "asn1p_y.y" #line 1390 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
; ;
break;} break;}
case 142: case 142:
#line 1394 "asn1p_y.y" #line 1393 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
; ;
break;} break;}
case 143: case 143:
#line 1400 "asn1p_y.y" #line 1399 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -2589,7 +2588,7 @@ case 143: ...@@ -2589,7 +2588,7 @@ case 143:
; ;
break;} break;}
case 144: case 144:
#line 1411 "asn1p_y.y" #line 1410 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -2606,14 +2605,14 @@ case 144: ...@@ -2606,14 +2605,14 @@ case 144:
; ;
break;} break;}
case 145: case 145:
#line 1429 "asn1p_y.y" #line 1428 "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);
; ;
break;} break;}
case 146: case 146:
#line 1433 "asn1p_y.y" #line 1432 "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);
...@@ -2621,7 +2620,7 @@ case 146: ...@@ -2621,7 +2620,7 @@ case 146:
; ;
break;} break;}
case 147: case 147:
#line 1438 "asn1p_y.y" #line 1437 "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);
...@@ -2629,7 +2628,7 @@ case 147: ...@@ -2629,7 +2628,7 @@ case 147:
; ;
break;} break;}
case 148: case 148:
#line 1472 "asn1p_y.y" #line 1471 "asn1p_y.y"
{ {
yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1; yyval.tv_opaque.len = yyvsp[0].tv_opaque.len + 1;
yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1); yyval.tv_opaque.buf = malloc(yyval.tv_opaque.len + 1);
...@@ -2641,7 +2640,7 @@ case 148: ...@@ -2641,7 +2640,7 @@ case 148:
; ;
break;} break;}
case 149: case 149:
#line 1481 "asn1p_y.y" #line 1480 "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);
...@@ -2656,71 +2655,71 @@ case 149: ...@@ -2656,71 +2655,71 @@ case 149:
; ;
break;} break;}
case 150: case 150:
#line 1496 "asn1p_y.y" #line 1495 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BOOLEAN; ; { yyval.a_type = ASN_BASIC_BOOLEAN; ;
break;} break;}
case 151: case 151:
#line 1497 "asn1p_y.y" #line 1496 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_NULL; ; { yyval.a_type = ASN_BASIC_NULL; ;
break;} break;}
case 152: case 152:
#line 1498 "asn1p_y.y" #line 1497 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_REAL; ; { yyval.a_type = ASN_BASIC_REAL; ;
break;} break;}
case 153: case 153:
#line 1499 "asn1p_y.y" #line 1498 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ; { yyval.a_type = yyvsp[0].a_type; ;
break;} break;}
case 154: case 154:
#line 1500 "asn1p_y.y" #line 1499 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OCTET_STRING; ; { yyval.a_type = ASN_BASIC_OCTET_STRING; ;
break;} break;}
case 155: case 155:
#line 1501 "asn1p_y.y" #line 1500 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ; { yyval.a_type = ASN_BASIC_OBJECT_IDENTIFIER; ;
break;} break;}
case 156: case 156:
#line 1502 "asn1p_y.y" #line 1501 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_RELATIVE_OID; ; { yyval.a_type = ASN_BASIC_RELATIVE_OID; ;
break;} break;}
case 157: case 157:
#line 1503 "asn1p_y.y" #line 1502 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EXTERNAL; ; { yyval.a_type = ASN_BASIC_EXTERNAL; ;
break;} break;}
case 158: case 158:
#line 1504 "asn1p_y.y" #line 1503 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ; { yyval.a_type = ASN_BASIC_EMBEDDED_PDV; ;
break;} break;}
case 159: case 159:
#line 1505 "asn1p_y.y" #line 1504 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_CHARACTER_STRING; ; { yyval.a_type = ASN_BASIC_CHARACTER_STRING; ;
break;} break;}
case 160: case 160:
#line 1506 "asn1p_y.y" #line 1505 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_UTCTime; ; { yyval.a_type = ASN_BASIC_UTCTime; ;
break;} break;}
case 161: case 161:
#line 1507 "asn1p_y.y" #line 1506 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_GeneralizedTime; ; { yyval.a_type = ASN_BASIC_GeneralizedTime; ;
break;} break;}
case 162: case 162:
#line 1508 "asn1p_y.y" #line 1507 "asn1p_y.y"
{ yyval.a_type = yyvsp[0].a_type; ; { yyval.a_type = yyvsp[0].a_type; ;
break;} break;}
case 163: case 163:
#line 1515 "asn1p_y.y" #line 1514 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_INTEGER; ; { yyval.a_type = ASN_BASIC_INTEGER; ;
break;} break;}
case 164: case 164:
#line 1516 "asn1p_y.y" #line 1515 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_ENUMERATED; ; { yyval.a_type = ASN_BASIC_ENUMERATED; ;
break;} break;}
case 165: case 165:
#line 1517 "asn1p_y.y" #line 1516 "asn1p_y.y"
{ yyval.a_type = ASN_BASIC_BIT_STRING; ; { yyval.a_type = ASN_BASIC_BIT_STRING; ;
break;} break;}
case 166: case 166:
#line 1521 "asn1p_y.y" #line 1520 "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);
...@@ -2729,7 +2728,7 @@ case 166: ...@@ -2729,7 +2728,7 @@ case 166:
; ;
break;} break;}
case 167: case 167:
#line 1527 "asn1p_y.y" #line 1526 "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;
...@@ -2742,91 +2741,91 @@ case 167: ...@@ -2742,91 +2741,91 @@ case 167:
; ;
break;} break;}
case 168: case 168:
#line 1540 "asn1p_y.y" #line 1539 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_BMPString; ; { yyval.a_type = ASN_STRING_BMPString; ;
break;} break;}
case 169: case 169:
#line 1541 "asn1p_y.y" #line 1540 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_GeneralString; yyval.a_type = ASN_STRING_GeneralString;
fprintf(stderr, "WARNING: GeneralString is not fully supported\n"); fprintf(stderr, "WARNING: GeneralString is not fully supported\n");
; ;
break;} break;}
case 170: case 170:
#line 1545 "asn1p_y.y" #line 1544 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_GraphicString; yyval.a_type = ASN_STRING_GraphicString;
fprintf(stderr, "WARNING: GraphicString is not fully supported\n"); fprintf(stderr, "WARNING: GraphicString is not fully supported\n");
; ;
break;} break;}
case 171: case 171:
#line 1549 "asn1p_y.y" #line 1548 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_IA5String; ; { yyval.a_type = ASN_STRING_IA5String; ;
break;} break;}
case 172: case 172:
#line 1550 "asn1p_y.y" #line 1549 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ISO646String; ; { yyval.a_type = ASN_STRING_ISO646String; ;
break;} break;}
case 173: case 173:
#line 1551 "asn1p_y.y" #line 1550 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_NumericString; ; { yyval.a_type = ASN_STRING_NumericString; ;
break;} break;}
case 174: case 174:
#line 1552 "asn1p_y.y" #line 1551 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_PrintableString; ; { yyval.a_type = ASN_STRING_PrintableString; ;
break;} break;}
case 175: case 175:
#line 1553 "asn1p_y.y" #line 1552 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_T61String; yyval.a_type = ASN_STRING_T61String;
fprintf(stderr, "WARNING: T61String is not fully supported\n"); fprintf(stderr, "WARNING: T61String is not fully supported\n");
; ;
break;} break;}
case 176: case 176:
#line 1557 "asn1p_y.y" #line 1556 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_TeletexString; ; { yyval.a_type = ASN_STRING_TeletexString; ;
break;} break;}
case 177: case 177:
#line 1558 "asn1p_y.y" #line 1557 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UniversalString; ; { yyval.a_type = ASN_STRING_UniversalString; ;
break;} break;}
case 178: case 178:
#line 1559 "asn1p_y.y" #line 1558 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_UTF8String; ; { yyval.a_type = ASN_STRING_UTF8String; ;
break;} break;}
case 179: case 179:
#line 1560 "asn1p_y.y" #line 1559 "asn1p_y.y"
{ {
yyval.a_type = ASN_STRING_VideotexString; yyval.a_type = ASN_STRING_VideotexString;
fprintf(stderr, "WARNING: VideotexString is not fully supported\n"); fprintf(stderr, "WARNING: VideotexString is not fully supported\n");
; ;
break;} break;}
case 180: case 180:
#line 1564 "asn1p_y.y" #line 1563 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_VisibleString; ; { yyval.a_type = ASN_STRING_VisibleString; ;
break;} break;}
case 181: case 181:
#line 1565 "asn1p_y.y" #line 1564 "asn1p_y.y"
{ yyval.a_type = ASN_STRING_ObjectDescriptor; ; { yyval.a_type = ASN_STRING_ObjectDescriptor; ;
break;} break;}
case 187: case 187:
#line 1577 "asn1p_y.y" #line 1576 "asn1p_y.y"
{ yyval.a_constr = 0; ; { yyval.a_constr = 0; ;
break;} break;}
case 188: case 188:
#line 1578 "asn1p_y.y" #line 1577 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 189: case 189:
#line 1584 "asn1p_y.y" #line 1583 "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 190: case 190:
#line 1587 "asn1p_y.y" #line 1586 "asn1p_y.y"
{ {
/* /*
* This is a special case, for compatibility purposes. * This is a special case, for compatibility purposes.
...@@ -2836,25 +2835,25 @@ case 190: ...@@ -2836,25 +2835,25 @@ case 190:
; ;
break;} break;}
case 191: case 191:
#line 1597 "asn1p_y.y" #line 1596 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[-1].a_constr; yyval.a_constr = yyvsp[-1].a_constr;
; ;
break;} break;}
case 192: case 192:
#line 1600 "asn1p_y.y" #line 1599 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_SET, yyvsp[-3].a_constr, yyvsp[-1].a_constr);
; ;
break;} break;}
case 193: case 193:
#line 1606 "asn1p_y.y" #line 1605 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 194: case 194:
#line 1609 "asn1p_y.y" #line 1608 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -2863,7 +2862,7 @@ case 194: ...@@ -2863,7 +2862,7 @@ case 194:
; ;
break;} break;}
case 195: case 195:
#line 1615 "asn1p_y.y" #line 1614 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -2874,37 +2873,37 @@ case 195: ...@@ -2874,37 +2873,37 @@ case 195:
; ;
break;} break;}
case 196: case 196:
#line 1626 "asn1p_y.y" #line 1625 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 197: case 197:
#line 1629 "asn1p_y.y" #line 1628 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0); CONSTRAINT_INSERT(yyval.a_constr, ACT_CA_AEX, yyvsp[0].a_constr, 0);
; ;
break;} break;}
case 198: case 198:
#line 1632 "asn1p_y.y" #line 1631 "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 199: case 199:
#line 1635 "asn1p_y.y" #line 1634 "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 200: case 200:
#line 1638 "asn1p_y.y" #line 1637 "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 201: case 201:
#line 1644 "asn1p_y.y" #line 1643 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
...@@ -2915,7 +2914,7 @@ case 201: ...@@ -2915,7 +2914,7 @@ case 201:
; ;
break;} break;}
case 202: case 202:
#line 1652 "asn1p_y.y" #line 1651 "asn1p_y.y"
{ {
int ret; int ret;
yyval.a_constr = asn1p_constraint_new(yylineno); yyval.a_constr = asn1p_constraint_new(yylineno);
...@@ -2926,7 +2925,7 @@ case 202: ...@@ -2926,7 +2925,7 @@ case 202:
; ;
break;} break;}
case 203: case 203:
#line 1660 "asn1p_y.y" #line 1659 "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);
...@@ -2935,7 +2934,7 @@ case 203: ...@@ -2935,7 +2934,7 @@ case 203:
; ;
break;} break;}
case 204: case 204:
#line 1666 "asn1p_y.y" #line 1665 "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);
...@@ -2944,7 +2943,7 @@ case 204: ...@@ -2944,7 +2943,7 @@ case 204:
; ;
break;} break;}
case 205: case 205:
#line 1672 "asn1p_y.y" #line 1671 "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);
...@@ -2954,7 +2953,7 @@ case 205: ...@@ -2954,7 +2953,7 @@ case 205:
; ;
break;} break;}
case 206: case 206:
#line 1679 "asn1p_y.y" #line 1678 "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);
...@@ -2965,7 +2964,7 @@ case 206: ...@@ -2965,7 +2964,7 @@ case 206:
; ;
break;} break;}
case 207: case 207:
#line 1687 "asn1p_y.y" #line 1686 "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);
...@@ -2976,7 +2975,7 @@ case 207: ...@@ -2976,7 +2975,7 @@ case 207:
; ;
break;} break;}
case 208: case 208:
#line 1695 "asn1p_y.y" #line 1694 "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);
...@@ -2988,23 +2987,23 @@ case 208: ...@@ -2988,23 +2987,23 @@ case 208:
; ;
break;} break;}
case 209: case 209:
#line 1704 "asn1p_y.y" #line 1703 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 210: case 210:
#line 1707 "asn1p_y.y" #line 1706 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 211: case 211:
#line 1711 "asn1p_y.y" #line 1710 "asn1p_y.y"
{ asn1p_lexer_hack_push_opaque_state(); ; { asn1p_lexer_hack_push_opaque_state(); ;
break;} break;}
case 212: case 212:
#line 1711 "asn1p_y.y" #line 1710 "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);
...@@ -3015,35 +3014,35 @@ case 212: ...@@ -3015,35 +3014,35 @@ case 212:
; ;
break;} break;}
case 213: case 213:
#line 1722 "asn1p_y.y" #line 1721 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RANGE; ; { yyval.a_ctype = ACT_EL_RANGE; ;
break;} break;}
case 214: case 214:
#line 1723 "asn1p_y.y" #line 1722 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_RLRANGE; ; { yyval.a_ctype = ACT_EL_RLRANGE; ;
break;} break;}
case 215: case 215:
#line 1724 "asn1p_y.y" #line 1723 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_LLRANGE; ; { yyval.a_ctype = ACT_EL_LLRANGE; ;
break;} break;}
case 216: case 216:
#line 1725 "asn1p_y.y" #line 1724 "asn1p_y.y"
{ yyval.a_ctype = ACT_EL_ULRANGE; ; { yyval.a_ctype = ACT_EL_ULRANGE; ;
break;} break;}
case 217: case 217:
#line 1729 "asn1p_y.y" #line 1728 "asn1p_y.y"
{ {
yyval.a_ctype = ACT_CT_SIZE; yyval.a_ctype = ACT_CT_SIZE;
; ;
break;} break;}
case 218: case 218:
#line 1732 "asn1p_y.y" #line 1731 "asn1p_y.y"
{ {
yyval.a_ctype = ACT_CT_FROM; yyval.a_ctype = ACT_CT_FROM;
; ;
break;} break;}
case 219: case 219:
#line 1738 "asn1p_y.y" #line 1737 "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);
...@@ -3051,7 +3050,7 @@ case 219: ...@@ -3051,7 +3050,7 @@ case 219:
; ;
break;} break;}
case 220: case 220:
#line 1743 "asn1p_y.y" #line 1742 "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);
...@@ -3059,19 +3058,19 @@ case 220: ...@@ -3059,19 +3058,19 @@ case 220:
; ;
break;} break;}
case 221: case 221:
#line 1748 "asn1p_y.y" #line 1747 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
; ;
break;} break;}
case 222: case 222:
#line 1751 "asn1p_y.y" #line 1750 "asn1p_y.y"
{ {
yyval.a_value = yyvsp[0].a_value; yyval.a_value = yyvsp[0].a_value;
; ;
break;} break;}
case 223: case 223:
#line 1754 "asn1p_y.y" #line 1753 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -3085,7 +3084,7 @@ case 223: ...@@ -3085,7 +3084,7 @@ case 223:
; ;
break;} break;}
case 224: case 224:
#line 1768 "asn1p_y.y" #line 1767 "asn1p_y.y"
{ {
asn1p_ref_t *ref; asn1p_ref_t *ref;
int ret; int ret;
...@@ -3099,31 +3098,31 @@ case 224: ...@@ -3099,31 +3098,31 @@ case 224:
; ;
break;} break;}
case 225: case 225:
#line 1782 "asn1p_y.y" #line 1781 "asn1p_y.y"
{ {
CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0); CONSTRAINT_INSERT(yyval.a_constr, ACT_CT_WCOMP, yyvsp[0].a_constr, 0);
; ;
break;} break;}
case 226: case 226:
#line 1785 "asn1p_y.y" #line 1784 "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 227: case 227:
#line 1791 "asn1p_y.y" #line 1790 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 228: case 228:
#line 1794 "asn1p_y.y" #line 1793 "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 229: case 229:
#line 1800 "asn1p_y.y" #line 1799 "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);
...@@ -3132,7 +3131,7 @@ case 229: ...@@ -3132,7 +3131,7 @@ case 229:
; ;
break;} break;}
case 230: case 230:
#line 1806 "asn1p_y.y" #line 1805 "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);
...@@ -3143,45 +3142,45 @@ case 230: ...@@ -3143,45 +3142,45 @@ case 230:
; ;
break;} break;}
case 231: case 231:
#line 1820 "asn1p_y.y" #line 1819 "asn1p_y.y"
{ yyval.a_pres = ACPRES_DEFAULT; ; { yyval.a_pres = ACPRES_DEFAULT; ;
break;} break;}
case 232: case 232:
#line 1821 "asn1p_y.y" #line 1820 "asn1p_y.y"
{ yyval.a_pres = yyvsp[0].a_pres; ; { yyval.a_pres = yyvsp[0].a_pres; ;
break;} break;}
case 233: case 233:
#line 1825 "asn1p_y.y" #line 1824 "asn1p_y.y"
{ {
yyval.a_pres = ACPRES_PRESENT; yyval.a_pres = ACPRES_PRESENT;
; ;
break;} break;}
case 234: case 234:
#line 1828 "asn1p_y.y" #line 1827 "asn1p_y.y"
{ {
yyval.a_pres = ACPRES_ABSENT; yyval.a_pres = ACPRES_ABSENT;
; ;
break;} break;}
case 235: case 235:
#line 1831 "asn1p_y.y" #line 1830 "asn1p_y.y"
{ {
yyval.a_pres = ACPRES_OPTIONAL; yyval.a_pres = ACPRES_OPTIONAL;
; ;
break;} break;}
case 236: case 236:
#line 1837 "asn1p_y.y" #line 1836 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 237: case 237:
#line 1840 "asn1p_y.y" #line 1839 "asn1p_y.y"
{ {
yyval.a_constr = yyvsp[0].a_constr; yyval.a_constr = yyvsp[0].a_constr;
; ;
break;} break;}
case 238: case 238:
#line 1849 "asn1p_y.y" #line 1848 "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;
...@@ -3196,13 +3195,13 @@ case 238: ...@@ -3196,13 +3195,13 @@ case 238:
; ;
break;} break;}
case 239: case 239:
#line 1864 "asn1p_y.y" #line 1863 "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 240: case 240:
#line 1870 "asn1p_y.y" #line 1869 "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);
...@@ -3211,7 +3210,7 @@ case 240: ...@@ -3211,7 +3210,7 @@ case 240:
; ;
break;} break;}
case 241: case 241:
#line 1876 "asn1p_y.y" #line 1875 "asn1p_y.y"
{ {
asn1p_constraint_t *ct; asn1p_constraint_t *ct;
ct = asn1p_constraint_new(yylineno); ct = asn1p_constraint_new(yylineno);
...@@ -3222,7 +3221,7 @@ case 241: ...@@ -3222,7 +3221,7 @@ case 241:
; ;
break;} break;}
case 242: case 242:
#line 1890 "asn1p_y.y" #line 1889 "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;
...@@ -3236,7 +3235,7 @@ case 242: ...@@ -3236,7 +3235,7 @@ case 242:
; ;
break;} break;}
case 243: case 243:
#line 1901 "asn1p_y.y" #line 1900 "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;
...@@ -3251,13 +3250,13 @@ case 243: ...@@ -3251,13 +3250,13 @@ case 243:
; ;
break;} break;}
case 244: case 244:
#line 1917 "asn1p_y.y" #line 1916 "asn1p_y.y"
{ {
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
; ;
break;} break;}
case 245: case 245:
#line 1920 "asn1p_y.y" #line 1919 "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);
...@@ -3269,45 +3268,45 @@ case 245: ...@@ -3269,45 +3268,45 @@ case 245:
; ;
break;} break;}
case 246: case 246:
#line 1938 "asn1p_y.y" #line 1937 "asn1p_y.y"
{ {
yyval.a_marker.flags = EM_NOMARK; yyval.a_marker.flags = EM_NOMARK;
yyval.a_marker.default_value = 0; yyval.a_marker.default_value = 0;
; ;
break;} break;}
case 247: case 247:
#line 1942 "asn1p_y.y" #line 1941 "asn1p_y.y"
{ yyval.a_marker = yyvsp[0].a_marker; ; { yyval.a_marker = yyvsp[0].a_marker; ;
break;} break;}
case 248: case 248:
#line 1946 "asn1p_y.y" #line 1945 "asn1p_y.y"
{ {
yyval.a_marker.flags = EM_OPTIONAL; yyval.a_marker.flags = EM_OPTIONAL | EM_INDIRECT;
yyval.a_marker.default_value = 0; yyval.a_marker.default_value = 0;
; ;
break;} break;}
case 249: case 249:
#line 1950 "asn1p_y.y" #line 1949 "asn1p_y.y"
{ {
yyval.a_marker.flags = EM_DEFAULT; yyval.a_marker.flags = EM_DEFAULT;
yyval.a_marker.default_value = yyvsp[0].a_value; yyval.a_marker.default_value = yyvsp[0].a_value;
; ;
break;} break;}
case 250: case 250:
#line 1973 "asn1p_y.y" #line 1972 "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);
; ;
break;} break;}
case 251: case 251:
#line 1977 "asn1p_y.y" #line 1976 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-1].a_expr; yyval.a_expr = yyvsp[-1].a_expr;
; ;
break;} break;}
case 252: case 252:
#line 1983 "asn1p_y.y" #line 1982 "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);
...@@ -3315,14 +3314,14 @@ case 252: ...@@ -3315,14 +3314,14 @@ case 252:
; ;
break;} break;}
case 253: case 253:
#line 1988 "asn1p_y.y" #line 1987 "asn1p_y.y"
{ {
yyval.a_expr = yyvsp[-2].a_expr; yyval.a_expr = yyvsp[-2].a_expr;
asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr); asn1p_expr_add(yyval.a_expr, yyvsp[0].a_expr);
; ;
break;} break;}
case 254: case 254:
#line 1995 "asn1p_y.y" #line 1994 "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);
...@@ -3332,7 +3331,7 @@ case 254: ...@@ -3332,7 +3331,7 @@ case 254:
; ;
break;} break;}
case 255: case 255:
#line 2002 "asn1p_y.y" #line 2001 "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);
...@@ -3343,7 +3342,7 @@ case 255: ...@@ -3343,7 +3342,7 @@ case 255:
; ;
break;} break;}
case 256: case 256:
#line 2010 "asn1p_y.y" #line 2009 "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);
...@@ -3354,7 +3353,7 @@ case 256: ...@@ -3354,7 +3353,7 @@ case 256:
; ;
break;} break;}
case 257: case 257:
#line 2018 "asn1p_y.y" #line 2017 "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);
...@@ -3364,7 +3363,7 @@ case 257: ...@@ -3364,7 +3363,7 @@ case 257:
; ;
break;} break;}
case 258: case 258:
#line 2025 "asn1p_y.y" #line 2024 "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);
...@@ -3375,102 +3374,102 @@ case 258: ...@@ -3375,102 +3374,102 @@ case 258:
; ;
break;} break;}
case 259: case 259:
#line 2036 "asn1p_y.y" #line 2035 "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);
; ;
break;} break;}
case 260: case 260:
#line 2040 "asn1p_y.y" #line 2039 "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);
; ;
break;} break;}
case 261: case 261:
#line 2071 "asn1p_y.y" #line 2070 "asn1p_y.y"
{ memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ; { memset(&yyval.a_tag, 0, sizeof(yyval.a_tag)); ;
break;} break;}
case 262: case 262:
#line 2072 "asn1p_y.y" #line 2071 "asn1p_y.y"
{ yyval.a_tag = yyvsp[0].a_tag; ; { yyval.a_tag = yyvsp[0].a_tag; ;
break;} break;}
case 263: case 263:
#line 2076 "asn1p_y.y" #line 2075 "asn1p_y.y"
{ {
yyval.a_tag = yyvsp[-1].a_tag; yyval.a_tag = yyvsp[-1].a_tag;
yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode; yyval.a_tag.tag_mode = yyvsp[0].a_tag.tag_mode;
; ;
break;} break;}
case 264: case 264:
#line 2083 "asn1p_y.y" #line 2082 "asn1p_y.y"
{ {
yyval.a_tag = yyvsp[-2].a_tag; yyval.a_tag = yyvsp[-2].a_tag;
yyval.a_tag.tag_value = yyvsp[-1].a_int; yyval.a_tag.tag_value = yyvsp[-1].a_int;
; ;
break;} break;}
case 265: case 265:
#line 2089 "asn1p_y.y" #line 2088 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; ; { yyval.a_tag.tag_class = TC_CONTEXT_SPECIFIC; ;
break;} break;}
case 266: case 266:
#line 2090 "asn1p_y.y" #line 2089 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_UNIVERSAL; ; { yyval.a_tag.tag_class = TC_UNIVERSAL; ;
break;} break;}
case 267: case 267:
#line 2091 "asn1p_y.y" #line 2090 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_APPLICATION; ; { yyval.a_tag.tag_class = TC_APPLICATION; ;
break;} break;}
case 268: case 268:
#line 2092 "asn1p_y.y" #line 2091 "asn1p_y.y"
{ yyval.a_tag.tag_class = TC_PRIVATE; ; { yyval.a_tag.tag_class = TC_PRIVATE; ;
break;} break;}
case 269: case 269:
#line 2096 "asn1p_y.y" #line 2095 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_DEFAULT; ; { yyval.a_tag.tag_mode = TM_DEFAULT; ;
break;} break;}
case 270: case 270:
#line 2097 "asn1p_y.y" #line 2096 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_IMPLICIT; ; { yyval.a_tag.tag_mode = TM_IMPLICIT; ;
break;} break;}
case 271: case 271:
#line 2098 "asn1p_y.y" #line 2097 "asn1p_y.y"
{ yyval.a_tag.tag_mode = TM_EXPLICIT; ; { yyval.a_tag.tag_mode = TM_EXPLICIT; ;
break;} break;}
case 272: case 272:
#line 2102 "asn1p_y.y" #line 2101 "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;
; ;
break;} break;}
case 273: case 273:
#line 2106 "asn1p_y.y" #line 2105 "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;
; ;
break;} break;}
case 274: case 274:
#line 2114 "asn1p_y.y" #line 2113 "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;
; ;
break;} break;}
case 275: case 275:
#line 2121 "asn1p_y.y" #line 2120 "asn1p_y.y"
{ yyval.tv_str = 0; ; { yyval.tv_str = 0; ;
break;} break;}
case 276: case 276:
#line 2122 "asn1p_y.y" #line 2121 "asn1p_y.y"
{ {
yyval.tv_str = yyvsp[0].tv_str; yyval.tv_str = yyvsp[0].tv_str;
; ;
break;} break;}
case 277: case 277:
#line 2128 "asn1p_y.y" #line 2127 "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;
...@@ -3698,7 +3697,7 @@ yyerrhandle: ...@@ -3698,7 +3697,7 @@ yyerrhandle:
} }
return 1; return 1;
} }
#line 2134 "asn1p_y.y" #line 2133 "asn1p_y.y"
......
...@@ -575,9 +575,8 @@ ModuleSpecificationElement: ...@@ -575,9 +575,8 @@ ModuleSpecificationElement:
*/ */
| BasicString { | BasicString {
return yyerror( return yyerror(
"Attempt to redefine a standard basic type, " "Attempt to redefine a standard basic string type, "
"use -ftypesXY to switch back " "please comment out or remove this type redefinition.");
"to older version of ASN.1 standard");
} }
; ;
...@@ -1944,7 +1943,7 @@ optMarker: ...@@ -1944,7 +1943,7 @@ optMarker:
Marker: Marker:
TOK_OPTIONAL { TOK_OPTIONAL {
$$.flags = EM_OPTIONAL; $$.flags = EM_OPTIONAL | EM_INDIRECT;
$$.default_value = 0; $$.default_value = 0;
} }
| TOK_DEFAULT Value { | TOK_DEFAULT Value {
......
...@@ -138,22 +138,6 @@ _asn1p_set_flags(enum asn1p_flags flags) { ...@@ -138,22 +138,6 @@ _asn1p_set_flags(enum asn1p_flags flags) {
asn1p__flex_debug = 1; asn1p__flex_debug = 1;
} }
/*
* Restrict embedded types to ASN.1:1988 version of standard.
*/
if(flags & A1P_TYPES_RESTRICT_TO_1988) {
flags &= ~A1P_TYPES_RESTRICT_TO_1988;
asn1p_lexer_types_year = 1988;
}
/*
* Restrict embedded types to ASN.1:1988 version of standard.
*/
if(flags & A1P_TYPES_RESTRICT_TO_1988) {
flags &= ~A1P_TYPES_RESTRICT_TO_1988;
asn1p_lexer_types_year = 1988;
}
/* /*
* Check that we haven't missed an unknown flag. * Check that we haven't missed an unknown flag.
*/ */
......
...@@ -57,15 +57,7 @@ enum asn1p_flags { ...@@ -57,15 +57,7 @@ enum asn1p_flags {
/* /*
* Enable verbose debugging output from lexer. * Enable verbose debugging output from lexer.
*/ */
A1P_LEXER_DEBUG = 0x0001, A1P_LEXER_DEBUG = 0x0001
/*
* Embedded types restricted to ASN.1:1988
*/
A1P_TYPES_RESTRICT_TO_1988 = 0x0010,
/*
* Embedded constructs (concepts) restricted to ASN.1:1990
*/
A1P_CONSTRUCTS_RESTRICT_TO_1990 = 0x0020,
}; };
/* /*
......
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