From 68c61a829b8487104483b23052b54c532fecb6ce Mon Sep 17 00:00:00 2001 From: Matthias Dieter Wallnöfer Date: Fri, 25 Feb 2011 11:54:02 +0100 Subject: Revert "heimdal_build omit #line statments to allow valgrind to work again" This reverts commit 80e23c68d83a7c9989f87d5a88a78bb76d222afc. A better patch has been provided by Milan Crha in the following commit. --- source4/heimdal/lib/asn1/asn1parse.c | 97 +++++++++++++++++++++++++- source4/heimdal/lib/asn1/lex.c | 107 +++++++++++++++++++++++++++++ source4/heimdal/lib/com_err/lex.c | 29 ++++++++ source4/heimdal/lib/com_err/parse.c | 14 ++++ source4/heimdal/lib/hx509/lex.yy.c | 127 +++++++++++++++++++++-------------- source4/heimdal/lib/hx509/sel-gram.c | 29 ++++++++ source4/heimdal/lib/hx509/sel-lex.c | 26 +++++++ source4/heimdal_build/lexyacc.sh | 6 +- 8 files changed, 378 insertions(+), 57 deletions(-) diff --git a/source4/heimdal/lib/asn1/asn1parse.c b/source4/heimdal/lib/asn1/asn1parse.c index 87868f1b2c..18bbcdd39c 100644 --- a/source4/heimdal/lib/asn1/asn1parse.c +++ b/source4/heimdal/lib/asn1/asn1parse.c @@ -31,6 +31,7 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; extern int YYPARSE_DECL(); +#line 39 "" #include @@ -61,6 +62,7 @@ struct string_list { #define YYMALLOC malloc #define YYFREE free +#line 71 "" typedef union { int constant; struct value *value; @@ -75,6 +77,7 @@ typedef union { struct memhead *members; struct constraint_spec *constraint_spec; } YYSTYPE; +#line 80 "" #define kw_ABSENT 257 #define kw_ABSTRACT_SYNTAX 258 #define kw_ALL 259 @@ -609,6 +612,7 @@ YYSTYPE yylval; /* variables for the parser stack */ static YYSTACKDATA yystack; +#line 945 "" void yyerror (const char *s) @@ -702,6 +706,7 @@ fix_labels(Symbol *s) fix_labels2(s->type, p); free(p); } +#line 709 "" /* allocate initial stack or double stack size, up to YYMAXDEPTH */ static int yygrowstack(YYSTACKDATA *data) { @@ -904,20 +909,25 @@ yyreduce: switch (yyn) { case 1: +#line 241 "" { checkundefined(); } break; case 3: +#line 248 "" { lex_error_message("implicit tagging is not supported"); } break; case 4: +#line 250 "" { lex_error_message("automatic tagging is not supported"); } break; case 6: +#line 255 "" { lex_error_message("no extensibility options supported"); } break; case 16: +#line 276 "" { struct string_list *sl; for(sl = yystack.l_mark[-3].sl; sl != NULL; sl = sl->next) { @@ -929,6 +939,7 @@ case 16: } break; case 17: +#line 288 "" { struct string_list *sl; for(sl = yystack.l_mark[-1].sl; sl != NULL; sl = sl->next) @@ -936,6 +947,7 @@ case 17: } break; case 24: +#line 306 "" { yyval.sl = emalloc(sizeof(*yyval.sl)); yyval.sl->string = yystack.l_mark[-2].name; @@ -943,6 +955,7 @@ case 24: } break; case 25: +#line 312 "" { yyval.sl = emalloc(sizeof(*yyval.sl)); yyval.sl->string = yystack.l_mark[0].name; @@ -950,6 +963,7 @@ case 25: } break; case 26: +#line 320 "" { Symbol *s = addsym (yystack.l_mark[-2].name); s->stype = Stype; @@ -959,12 +973,14 @@ case 26: } break; case 44: +#line 351 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_Boolean, TE_EXPLICIT, new_type(TBoolean)); } break; case 45: +#line 358 "" { if(yystack.l_mark[-3].value->type != integervalue) lex_error_message("Non-integer used in first part of range"); @@ -976,7 +992,8 @@ case 45: } break; case 46: - { +#line 368 "" + { if(yystack.l_mark[-3].value->type != integervalue) lex_error_message("Non-integer in first part of range"); yyval.range = ecalloc(1, sizeof(*yyval.range)); @@ -985,7 +1002,8 @@ case 46: } break; case 47: - { +#line 376 "" + { if(yystack.l_mark[-1].value->type != integervalue) lex_error_message("Non-integer in second part of range"); yyval.range = ecalloc(1, sizeof(*yyval.range)); @@ -994,6 +1012,7 @@ case 47: } break; case 48: +#line 384 "" { if(yystack.l_mark[-1].value->type != integervalue) lex_error_message("Non-integer used in limit"); @@ -1003,12 +1022,14 @@ case 48: } break; case 49: +#line 395 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_Integer, TE_EXPLICIT, new_type(TInteger)); } break; case 50: +#line 400 "" { yyval.type = new_type(TInteger); yyval.type->range = yystack.l_mark[0].range; @@ -1016,6 +1037,7 @@ case 50: } break; case 51: +#line 406 "" { yyval.type = new_type(TInteger); yyval.type->members = yystack.l_mark[-1].members; @@ -1023,6 +1045,7 @@ case 51: } break; case 52: +#line 414 "" { yyval.members = emalloc(sizeof(*yyval.members)); ASN1_TAILQ_INIT(yyval.members); @@ -1030,15 +1053,18 @@ case 52: } break; case 53: +#line 420 "" { ASN1_TAILQ_INSERT_TAIL(yystack.l_mark[-2].members, yystack.l_mark[0].member, members); yyval.members = yystack.l_mark[-2].members; } break; case 54: +#line 425 "" { yyval.members = yystack.l_mark[-2].members; } break; case 55: +#line 429 "" { yyval.member = emalloc(sizeof(*yyval.member)); yyval.member->name = yystack.l_mark[-3].name; @@ -1051,6 +1077,7 @@ case 55: } break; case 56: +#line 442 "" { yyval.type = new_type(TInteger); yyval.type->members = yystack.l_mark[-1].members; @@ -1058,6 +1085,7 @@ case 56: } break; case 58: +#line 453 "" { yyval.type = new_type(TBitString); yyval.type->members = emalloc(sizeof(*yyval.type->members)); @@ -1066,6 +1094,7 @@ case 58: } break; case 59: +#line 460 "" { yyval.type = new_type(TBitString); yyval.type->members = yystack.l_mark[-1].members; @@ -1073,12 +1102,14 @@ case 59: } break; case 60: +#line 468 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_OID, TE_EXPLICIT, new_type(TOID)); } break; case 61: +#line 474 "" { Type *t = new_type(TOctetString); t->range = yystack.l_mark[0].range; @@ -1087,18 +1118,22 @@ case 61: } break; case 62: +#line 483 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_Null, TE_EXPLICIT, new_type(TNull)); } break; case 63: +#line 490 "" { yyval.range = NULL; } break; case 64: +#line 492 "" { yyval.range = yystack.l_mark[0].range; } break; case 65: +#line 497 "" { yyval.type = new_type(TSequence); yyval.type->members = yystack.l_mark[-1].members; @@ -1106,6 +1141,7 @@ case 65: } break; case 66: +#line 503 "" { yyval.type = new_type(TSequence); yyval.type->members = NULL; @@ -1113,6 +1149,7 @@ case 66: } break; case 67: +#line 511 "" { yyval.type = new_type(TSequenceOf); yyval.type->range = yystack.l_mark[-2].range; @@ -1121,6 +1158,7 @@ case 67: } break; case 68: +#line 520 "" { yyval.type = new_type(TSet); yyval.type->members = yystack.l_mark[-1].members; @@ -1128,6 +1166,7 @@ case 68: } break; case 69: +#line 526 "" { yyval.type = new_type(TSet); yyval.type->members = NULL; @@ -1135,6 +1174,7 @@ case 69: } break; case 70: +#line 534 "" { yyval.type = new_type(TSetOf); yyval.type->subtype = yystack.l_mark[0].type; @@ -1142,12 +1182,14 @@ case 70: } break; case 71: +#line 542 "" { yyval.type = new_type(TChoice); yyval.type->members = yystack.l_mark[-1].members; } break; case 74: +#line 553 "" { Symbol *s = addsym(yystack.l_mark[0].name); yyval.type = new_type(TType); @@ -1158,18 +1200,21 @@ case 74: } break; case 75: +#line 564 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_GeneralizedTime, TE_EXPLICIT, new_type(TGeneralizedTime)); } break; case 76: +#line 569 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_UTCTime, TE_EXPLICIT, new_type(TUTCTime)); } break; case 77: +#line 576 "" { /* if (Constraint.type == contentConstrant) { assert(Constraint.u.constraint.type == octetstring|bitstring-w/o-NamedBitList); // remember to check type reference too @@ -1184,11 +1229,13 @@ case 77: } break; case 78: +#line 592 "" { yyval.constraint_spec = yystack.l_mark[-1].constraint_spec; } break; case 82: +#line 605 "" { yyval.constraint_spec = new_constraint_spec(CT_CONTENTS); yyval.constraint_spec->u.content.type = yystack.l_mark[0].type; @@ -1196,6 +1243,7 @@ case 82: } break; case 83: +#line 611 "" { if (yystack.l_mark[0].value->type != objectidentifiervalue) lex_error_message("Non-OID used in ENCODED BY constraint"); @@ -1205,6 +1253,7 @@ case 83: } break; case 84: +#line 619 "" { if (yystack.l_mark[0].value->type != objectidentifiervalue) lex_error_message("Non-OID used in ENCODED BY constraint"); @@ -1214,11 +1263,13 @@ case 84: } break; case 85: +#line 629 "" { yyval.constraint_spec = new_constraint_spec(CT_USER); } break; case 86: +#line 635 "" { yyval.type = new_type(TTag); yyval.type->tag = yystack.l_mark[-2].tag; @@ -1231,6 +1282,7 @@ case 86: } break; case 87: +#line 648 "" { yyval.tag.tagclass = yystack.l_mark[-2].constant; yyval.tag.tagvalue = yystack.l_mark[-1].constant; @@ -1238,41 +1290,49 @@ case 87: } break; case 88: +#line 656 "" { yyval.constant = ASN1_C_CONTEXT; } break; case 89: +#line 660 "" { yyval.constant = ASN1_C_UNIV; } break; case 90: +#line 664 "" { yyval.constant = ASN1_C_APPL; } break; case 91: +#line 668 "" { yyval.constant = ASN1_C_PRIVATE; } break; case 92: +#line 674 "" { yyval.constant = TE_EXPLICIT; } break; case 93: +#line 678 "" { yyval.constant = TE_EXPLICIT; } break; case 94: +#line 682 "" { yyval.constant = TE_IMPLICIT; } break; case 95: +#line 689 "" { Symbol *s; s = addsym (yystack.l_mark[-3].name); @@ -1283,54 +1343,63 @@ case 95: } break; case 97: +#line 703 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_GeneralString, TE_EXPLICIT, new_type(TGeneralString)); } break; case 98: +#line 708 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_TeletexString, TE_EXPLICIT, new_type(TTeletexString)); } break; case 99: +#line 713 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_UTF8String, TE_EXPLICIT, new_type(TUTF8String)); } break; case 100: +#line 718 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_PrintableString, TE_EXPLICIT, new_type(TPrintableString)); } break; case 101: +#line 723 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_VisibleString, TE_EXPLICIT, new_type(TVisibleString)); } break; case 102: +#line 728 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_IA5String, TE_EXPLICIT, new_type(TIA5String)); } break; case 103: +#line 733 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_BMPString, TE_EXPLICIT, new_type(TBMPString)); } break; case 104: +#line 738 "" { yyval.type = new_tag(ASN1_C_UNIV, UT_UniversalString, TE_EXPLICIT, new_type(TUniversalString)); } break; case 105: +#line 746 "" { yyval.members = emalloc(sizeof(*yyval.members)); ASN1_TAILQ_INIT(yyval.members); @@ -1338,12 +1407,14 @@ case 105: } break; case 106: +#line 752 "" { ASN1_TAILQ_INSERT_TAIL(yystack.l_mark[-2].members, yystack.l_mark[0].member, members); yyval.members = yystack.l_mark[-2].members; } break; case 107: +#line 757 "" { struct member *m = ecalloc(1, sizeof(*m)); m->name = estrdup("..."); @@ -1354,6 +1425,7 @@ case 107: } break; case 108: +#line 768 "" { yyval.member = emalloc(sizeof(*yyval.member)); yyval.member->name = yystack.l_mark[-1].name; @@ -1364,6 +1436,7 @@ case 108: } break; case 109: +#line 779 "" { yyval.member = yystack.l_mark[0].member; yyval.member->optional = 0; @@ -1371,6 +1444,7 @@ case 109: } break; case 110: +#line 785 "" { yyval.member = yystack.l_mark[-1].member; yyval.member->optional = 1; @@ -1378,6 +1452,7 @@ case 110: } break; case 111: +#line 791 "" { yyval.member = yystack.l_mark[-2].member; yyval.member->optional = 0; @@ -1385,6 +1460,7 @@ case 111: } break; case 112: +#line 799 "" { yyval.members = emalloc(sizeof(*yyval.members)); ASN1_TAILQ_INIT(yyval.members); @@ -1392,12 +1468,14 @@ case 112: } break; case 113: +#line 805 "" { ASN1_TAILQ_INSERT_TAIL(yystack.l_mark[-2].members, yystack.l_mark[0].member, members); yyval.members = yystack.l_mark[-2].members; } break; case 114: +#line 812 "" { yyval.member = emalloc(sizeof(*yyval.member)); yyval.member->name = yystack.l_mark[-3].name; @@ -1410,19 +1488,23 @@ case 114: } break; case 116: +#line 825 "" { yyval.objid = NULL; } break; case 117: +#line 829 "" { yyval.objid = yystack.l_mark[-1].objid; } break; case 118: +#line 835 "" { yyval.objid = NULL; } break; case 119: +#line 839 "" { if (yystack.l_mark[0].objid) { yyval.objid = yystack.l_mark[0].objid; @@ -1433,11 +1515,13 @@ case 119: } break; case 120: +#line 850 "" { yyval.objid = new_objid(yystack.l_mark[-3].name, yystack.l_mark[-1].constant); } break; case 121: +#line 854 "" { Symbol *s = addsym(yystack.l_mark[0].name); if(s->stype != SValue || @@ -1450,11 +1534,13 @@ case 121: } break; case 122: +#line 865 "" { yyval.objid = new_objid(NULL, yystack.l_mark[0].constant); } break; case 132: +#line 888 "" { Symbol *s = addsym(yystack.l_mark[0].name); if(s->stype != SValue) @@ -1465,6 +1551,7 @@ case 132: } break; case 133: +#line 899 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = stringvalue; @@ -1472,6 +1559,7 @@ case 133: } break; case 134: +#line 907 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = booleanvalue; @@ -1479,6 +1567,7 @@ case 134: } break; case 135: +#line 913 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = booleanvalue; @@ -1486,6 +1575,7 @@ case 135: } break; case 136: +#line 921 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = integervalue; @@ -1493,16 +1583,19 @@ case 136: } break; case 138: +#line 932 "" { } break; case 139: +#line 937 "" { yyval.value = emalloc(sizeof(*yyval.value)); yyval.value->type = objectidentifiervalue; yyval.value->u.objectidentifiervalue = yystack.l_mark[0].objid; } break; +#line 1598 "" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/source4/heimdal/lib/asn1/lex.c b/source4/heimdal/lib/asn1/lex.c index 872cfd3a9b..264d573008 100644 --- a/source4/heimdal/lib/asn1/lex.c +++ b/source4/heimdal/lib/asn1/lex.c @@ -788,6 +788,8 @@ int yy_flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; +#line 1 "lex.l" +#line 2 "lex.l" /* * Copyright (c) 1997 - 2005 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). @@ -846,6 +848,7 @@ static unsigned lineno = 1; static void unterminated(const char *, unsigned); /* This is for broken old lexes (solaris 10 and hpux) */ +#line 851 "" #define INITIAL 0 @@ -1027,6 +1030,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; +#line 68 "lex.l" + +#line 1035 "" + if ( !(yy_init) ) { (yy_init) = 1; @@ -1110,342 +1117,427 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP +#line 69 "lex.l" { return kw_ABSENT; } YY_BREAK case 2: YY_RULE_SETUP +#line 70 "lex.l" { return kw_ABSTRACT_SYNTAX; } YY_BREAK case 3: YY_RULE_SETUP +#line 71 "lex.l" { return kw_ALL; } YY_BREAK case 4: YY_RULE_SETUP +#line 72 "lex.l" { return kw_APPLICATION; } YY_BREAK case 5: YY_RULE_SETUP +#line 73 "lex.l" { return kw_AUTOMATIC; } YY_BREAK case 6: YY_RULE_SETUP +#line 74 "lex.l" { return kw_BEGIN; } YY_BREAK case 7: YY_RULE_SETUP +#line 75 "lex.l" { return kw_BIT; } YY_BREAK case 8: YY_RULE_SETUP +#line 76 "lex.l" { return kw_BMPString; } YY_BREAK case 9: YY_RULE_SETUP +#line 77 "lex.l" { return kw_BOOLEAN; } YY_BREAK case 10: YY_RULE_SETUP +#line 78 "lex.l" { return kw_BY; } YY_BREAK case 11: YY_RULE_SETUP +#line 79 "lex.l" { return kw_CHARACTER; } YY_BREAK case 12: YY_RULE_SETUP +#line 80 "lex.l" { return kw_CHOICE; } YY_BREAK case 13: YY_RULE_SETUP +#line 81 "lex.l" { return kw_CLASS; } YY_BREAK case 14: YY_RULE_SETUP +#line 82 "lex.l" { return kw_COMPONENT; } YY_BREAK case 15: YY_RULE_SETUP +#line 83 "lex.l" { return kw_COMPONENTS; } YY_BREAK case 16: YY_RULE_SETUP +#line 84 "lex.l" { return kw_CONSTRAINED; } YY_BREAK case 17: YY_RULE_SETUP +#line 85 "lex.l" { return kw_CONTAINING; } YY_BREAK case 18: YY_RULE_SETUP +#line 86 "lex.l" { return kw_DEFAULT; } YY_BREAK case 19: YY_RULE_SETUP +#line 87 "lex.l" { return kw_DEFINITIONS; } YY_BREAK case 20: YY_RULE_SETUP +#line 88 "lex.l" { return kw_EMBEDDED; } YY_BREAK case 21: YY_RULE_SETUP +#line 89 "lex.l" { return kw_ENCODED; } YY_BREAK case 22: YY_RULE_SETUP +#line 90 "lex.l" { return kw_END; } YY_BREAK case 23: YY_RULE_SETUP +#line 91 "lex.l" { return kw_ENUMERATED; } YY_BREAK case 24: YY_RULE_SETUP +#line 92 "lex.l" { return kw_EXCEPT; } YY_BREAK case 25: YY_RULE_SETUP +#line 93 "lex.l" { return kw_EXPLICIT; } YY_BREAK case 26: YY_RULE_SETUP +#line 94 "lex.l" { return kw_EXPORTS; } YY_BREAK case 27: YY_RULE_SETUP +#line 95 "lex.l" { return kw_EXTENSIBILITY; } YY_BREAK case 28: YY_RULE_SETUP +#line 96 "lex.l" { return kw_EXTERNAL; } YY_BREAK case 29: YY_RULE_SETUP +#line 97 "lex.l" { return kw_FALSE; } YY_BREAK case 30: YY_RULE_SETUP +#line 98 "lex.l" { return kw_FROM; } YY_BREAK case 31: YY_RULE_SETUP +#line 99 "lex.l" { return kw_GeneralString; } YY_BREAK case 32: YY_RULE_SETUP +#line 100 "lex.l" { return kw_GeneralizedTime; } YY_BREAK case 33: YY_RULE_SETUP +#line 101 "lex.l" { return kw_GraphicString; } YY_BREAK case 34: YY_RULE_SETUP +#line 102 "lex.l" { return kw_IA5String; } YY_BREAK case 35: YY_RULE_SETUP +#line 103 "lex.l" { return kw_IDENTIFIER; } YY_BREAK case 36: YY_RULE_SETUP +#line 104 "lex.l" { return kw_IMPLICIT; } YY_BREAK case 37: YY_RULE_SETUP +#line 105 "lex.l" { return kw_IMPLIED; } YY_BREAK case 38: YY_RULE_SETUP +#line 106 "lex.l" { return kw_IMPORTS; } YY_BREAK case 39: YY_RULE_SETUP +#line 107 "lex.l" { return kw_INCLUDES; } YY_BREAK case 40: YY_RULE_SETUP +#line 108 "lex.l" { return kw_INSTANCE; } YY_BREAK case 41: YY_RULE_SETUP +#line 109 "lex.l" { return kw_INTEGER; } YY_BREAK case 42: YY_RULE_SETUP +#line 110 "lex.l" { return kw_INTERSECTION; } YY_BREAK case 43: YY_RULE_SETUP +#line 111 "lex.l" { return kw_ISO646String; } YY_BREAK case 44: YY_RULE_SETUP +#line 112 "lex.l" { return kw_MAX; } YY_BREAK case 45: YY_RULE_SETUP +#line 113 "lex.l" { return kw_MIN; } YY_BREAK case 46: YY_RULE_SETUP +#line 114 "lex.l" { return kw_MINUS_INFINITY; } YY_BREAK case 47: YY_RULE_SETUP +#line 115 "lex.l" { return kw_NULL; } YY_BREAK case 48: YY_RULE_SETUP +#line 116 "lex.l" { return kw_NumericString; } YY_BREAK case 49: YY_RULE_SETUP +#line 117 "lex.l" { return kw_OBJECT; } YY_BREAK case 50: YY_RULE_SETUP +#line 118 "lex.l" { return kw_OCTET; } YY_BREAK case 51: YY_RULE_SETUP +#line 119 "lex.l" { return kw_OF; } YY_BREAK case 52: YY_RULE_SETUP +#line 120 "lex.l" { return kw_OPTIONAL; } YY_BREAK case 53: YY_RULE_SETUP +#line 121 "lex.l" { return kw_ObjectDescriptor; } YY_BREAK case 54: YY_RULE_SETUP +#line 122 "lex.l" { return kw_PATTERN; } YY_BREAK case 55: YY_RULE_SETUP +#line 123 "lex.l" { return kw_PDV; } YY_BREAK case 56: YY_RULE_SETUP +#line 124 "lex.l" { return kw_PLUS_INFINITY; } YY_BREAK case 57: YY_RULE_SETUP +#line 125 "lex.l" { return kw_PRESENT; } YY_BREAK case 58: YY_RULE_SETUP +#line 126 "lex.l" { return kw_PRIVATE; } YY_BREAK case 59: YY_RULE_SETUP +#line 127 "lex.l" { return kw_PrintableString; } YY_BREAK case 60: YY_RULE_SETUP +#line 128 "lex.l" { return kw_REAL; } YY_BREAK case 61: YY_RULE_SETUP +#line 129 "lex.l" { return kw_RELATIVE_OID; } YY_BREAK case 62: YY_RULE_SETUP +#line 130 "lex.l" { return kw_SEQUENCE; } YY_BREAK case 63: YY_RULE_SETUP +#line 131 "lex.l" { return kw_SET; } YY_BREAK case 64: YY_RULE_SETUP +#line 132 "lex.l" { return kw_SIZE; } YY_BREAK case 65: YY_RULE_SETUP +#line 133 "lex.l" { return kw_STRING; } YY_BREAK case 66: YY_RULE_SETUP +#line 134 "lex.l" { return kw_SYNTAX; } YY_BREAK case 67: YY_RULE_SETUP +#line 135 "lex.l" { return kw_T61String; } YY_BREAK case 68: YY_RULE_SETUP +#line 136 "lex.l" { return kw_TAGS; } YY_BREAK case 69: YY_RULE_SETUP +#line 137 "lex.l" { return kw_TRUE; } YY_BREAK case 70: YY_RULE_SETUP +#line 138 "lex.l" { return kw_TYPE_IDENTIFIER; } YY_BREAK case 71: YY_RULE_SETUP +#line 139 "lex.l" { return kw_TeletexString; } YY_BREAK case 72: YY_RULE_SETUP +#line 140 "lex.l" { return kw_UNION; } YY_BREAK case 73: YY_RULE_SETUP +#line 141 "lex.l" { return kw_UNIQUE; } YY_BREAK case 74: YY_RULE_SETUP +#line 142 "lex.l" { return kw_UNIVERSAL; } YY_BREAK case 75: YY_RULE_SETUP +#line 143 "lex.l" { return kw_UTCTime; } YY_BREAK case 76: YY_RULE_SETUP +#line 144 "lex.l" { return kw_UTF8String; } YY_BREAK case 77: YY_RULE_SETUP +#line 145 "lex.l" { return kw_UniversalString; } YY_BREAK case 78: YY_RULE_SETUP +#line 146 "lex.l" { return kw_VideotexString; } YY_BREAK case 79: YY_RULE_SETUP +#line 147 "lex.l" { return kw_VisibleString; } YY_BREAK case 80: YY_RULE_SETUP +#line 148 "lex.l" { return kw_WITH; } YY_BREAK case 81: YY_RULE_SETUP +#line 149 "lex.l" { return *yytext; } YY_BREAK case 82: YY_RULE_SETUP +#line 150 "lex.l" { return *yytext; } YY_BREAK case 83: YY_RULE_SETUP +#line 151 "lex.l" { return *yytext; } YY_BREAK case 84: YY_RULE_SETUP +#line 152 "lex.l" { return EEQUAL; } YY_BREAK case 85: YY_RULE_SETUP +#line 153 "lex.l" { int c, start_lineno = lineno; int f = 0; @@ -1468,6 +1560,7 @@ YY_RULE_SETUP YY_BREAK case 86: YY_RULE_SETUP +#line 172 "lex.l" { int c, start_lineno = lineno; int level = 1; @@ -1511,6 +1604,7 @@ YY_RULE_SETUP YY_BREAK case 87: YY_RULE_SETUP +#line 212 "lex.l" { int start_lineno = lineno; int c; @@ -1558,6 +1652,7 @@ YY_RULE_SETUP YY_BREAK case 88: YY_RULE_SETUP +#line 257 "lex.l" { char *e, *y = yytext; yylval.constant = strtol((const char *)yytext, &e, 0); @@ -1569,6 +1664,7 @@ YY_RULE_SETUP YY_BREAK case 89: YY_RULE_SETUP +#line 265 "lex.l" { yylval.name = estrdup ((const char *)yytext); return IDENTIFIER; @@ -1576,29 +1672,36 @@ YY_RULE_SETUP YY_BREAK case 90: YY_RULE_SETUP +#line 269 "lex.l" ; YY_BREAK case 91: /* rule 91 can match eol */ YY_RULE_SETUP +#line 270 "lex.l" { ++lineno; } YY_BREAK case 92: YY_RULE_SETUP +#line 271 "lex.l" { return ELLIPSIS; } YY_BREAK case 93: YY_RULE_SETUP +#line 272 "lex.l" { return RANGE; } YY_BREAK case 94: YY_RULE_SETUP +#line 273 "lex.l" { lex_error_message("Ignoring char(%c)\n", *yytext); } YY_BREAK case 95: YY_RULE_SETUP +#line 274 "lex.l" ECHO; YY_BREAK +#line 1704 "" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2596,6 +2699,10 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" +#line 274 "lex.l" + + + #ifndef yywrap /* XXX */ int yywrap () diff --git a/source4/heimdal/lib/com_err/lex.c b/source4/heimdal/lib/com_err/lex.c index 6b2730d900..9a61f5902b 100644 --- a/source4/heimdal/lib/com_err/lex.c +++ b/source4/heimdal/lib/com_err/lex.c @@ -473,6 +473,8 @@ int yy_flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; +#line 1 "lex.l" +#line 2 "lex.l" /* * Copyright (c) 1998 - 2000 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). @@ -525,6 +527,8 @@ static int getstring(void); #undef ECHO +#line 530 "" + #define INITIAL 0 #ifndef YY_NO_UNISTD_H @@ -703,6 +707,10 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; +#line 58 "lex.l" + +#line 712 "" + if ( !(yy_init) ) { (yy_init) = 1; @@ -786,69 +794,86 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP +#line 59 "lex.l" { return ET; } YY_BREAK case 2: YY_RULE_SETUP +#line 60 "lex.l" { return ET; } YY_BREAK case 3: YY_RULE_SETUP +#line 61 "lex.l" { return EC; } YY_BREAK case 4: YY_RULE_SETUP +#line 62 "lex.l" { return EC; } YY_BREAK case 5: YY_RULE_SETUP +#line 63 "lex.l" { return PREFIX; } YY_BREAK case 6: YY_RULE_SETUP +#line 64 "lex.l" { return INDEX; } YY_BREAK case 7: YY_RULE_SETUP +#line 65 "lex.l" { return ID; } YY_BREAK case 8: YY_RULE_SETUP +#line 66 "lex.l" { return END; } YY_BREAK case 9: YY_RULE_SETUP +#line 67 "lex.l" { yylval.number = atoi(yytext); return NUMBER; } YY_BREAK case 10: YY_RULE_SETUP +#line 68 "lex.l" ; YY_BREAK case 11: YY_RULE_SETUP +#line 69 "lex.l" ; YY_BREAK case 12: /* rule 12 can match eol */ YY_RULE_SETUP +#line 70 "lex.l" { lineno++; } YY_BREAK case 13: YY_RULE_SETUP +#line 71 "lex.l" { return getstring(); } YY_BREAK case 14: YY_RULE_SETUP +#line 72 "lex.l" { yylval.string = strdup(yytext); return STRING; } YY_BREAK case 15: YY_RULE_SETUP +#line 73 "lex.l" { return *yytext; } YY_BREAK case 16: YY_RULE_SETUP +#line 74 "lex.l" ECHO; YY_BREAK +#line 876 "" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1809,6 +1834,10 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" +#line 74 "lex.l" + + + #ifndef yywrap /* XXX */ int yywrap () diff --git a/source4/heimdal/lib/com_err/parse.c b/source4/heimdal/lib/com_err/parse.c index 15e9f656f2..a97c56f0b2 100644 --- a/source4/heimdal/lib/com_err/parse.c +++ b/source4/heimdal/lib/com_err/parse.c @@ -31,6 +31,7 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; extern int YYPARSE_DECL(); +#line 2 "" /* * Copyright (c) 1998 - 2000 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). @@ -81,10 +82,12 @@ extern char *yytext; #define YYMALLOC malloc #define YYFREE free +#line 54 "" typedef union { char *string; int number; } YYSTYPE; +#line 90 "" #define ET 257 #define INDEX 258 #define PREFIX 259 @@ -258,6 +261,7 @@ YYSTYPE yylval; /* variables for the parser stack */ static YYSTACKDATA yystack; +#line 144 "" static long name2number(const char *str) @@ -289,6 +293,7 @@ yyerror (char *s) { _lex_error_message ("%s\n", s); } +#line 296 "" /* allocate initial stack or double stack size, up to YYMAXDEPTH */ static int yygrowstack(YYSTACKDATA *data) { @@ -491,11 +496,13 @@ yyreduce: switch (yyn) { case 5: +#line 74 "" { id_str = yystack.l_mark[0].string; } break; case 6: +#line 80 "" { base_id = name2number(yystack.l_mark[0].string); strlcpy(name, yystack.l_mark[0].string, sizeof(name)); @@ -503,6 +510,7 @@ case 6: } break; case 7: +#line 86 "" { base_id = name2number(yystack.l_mark[-1].string); strlcpy(name, yystack.l_mark[0].string, sizeof(name)); @@ -511,11 +519,13 @@ case 7: } break; case 10: +#line 99 "" { number = yystack.l_mark[0].number; } break; case 11: +#line 103 "" { free(prefix); asprintf (&prefix, "%s_", yystack.l_mark[0].string); @@ -525,6 +535,7 @@ case 11: } break; case 12: +#line 111 "" { prefix = realloc(prefix, 1); if (prefix == NULL) @@ -533,6 +544,7 @@ case 12: } break; case 13: +#line 118 "" { struct error_code *ec = malloc(sizeof(*ec)); @@ -554,10 +566,12 @@ case 13: } break; case 14: +#line 138 "" { YYACCEPT; } break; +#line 574 "" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/source4/heimdal/lib/hx509/lex.yy.c b/source4/heimdal/lib/hx509/lex.yy.c index 5c0a9c4635..4ee5a26820 100644 --- a/source4/heimdal/lib/hx509/lex.yy.c +++ b/source4/heimdal/lib/hx509/lex.yy.c @@ -33,7 +33,7 @@ #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, - * if you want the limit (max/min) macros for int types. + * if you want the limit (max/min) macros for int types. */ #ifndef __STDC_LIMIT_MACROS #define __STDC_LIMIT_MACROS 1 @@ -50,7 +50,7 @@ typedef uint32_t flex_uint32_t; typedef signed char flex_int8_t; typedef short int flex_int16_t; typedef int flex_int32_t; -typedef unsigned char flex_uint8_t; +typedef unsigned char flex_uint8_t; typedef unsigned short int flex_uint16_t; typedef unsigned int flex_uint32_t; #endif /* ! C99 */ @@ -161,7 +161,7 @@ extern FILE *yyin, *yyout; #define EOB_ACT_LAST_MATCH 2 #define YY_LESS_LINENO(n) - + /* Return all but the first "n" matched characters back to the input stream. */ #define yyless(n) \ do \ @@ -223,7 +223,7 @@ struct yy_buffer_state int yy_bs_lineno; /**< The line count. */ int yy_bs_column; /**< The column count. */ - + /* Whether to try to fill the input buffer when we reach the * end of it. */ @@ -467,6 +467,8 @@ int yy_flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; +#line 1 "sel-lex.l" +#line 2 "sel-lex.l" /* * Copyright (c) 2004, 2008 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). @@ -532,6 +534,8 @@ struct hx_expr_input _hx509_expr_input; #undef ECHO +#line 538 "lex.yy.c" + #define INITIAL 0 #ifndef YY_NO_UNISTD_H @@ -590,7 +594,7 @@ extern int yywrap (void ); #endif static void yyunput (int c,char *buf_ptr ); - + #ifndef yytext_ptr static void yy_flex_strncpy (char *,yyconst char *,int ); #endif @@ -711,7 +715,12 @@ YY_DECL register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; - + +#line 68 "sel-lex.l" + + +#line 723 "lex.yy.c" + if ( !(yy_init) ) { (yy_init) = 1; @@ -795,30 +804,37 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP +#line 70 "sel-lex.l" { return kw_TRUE; } YY_BREAK case 2: YY_RULE_SETUP +#line 71 "sel-lex.l" { return kw_FALSE; } YY_BREAK case 3: YY_RULE_SETUP +#line 72 "sel-lex.l" { return kw_AND; } YY_BREAK case 4: YY_RULE_SETUP +#line 73 "sel-lex.l" { return kw_OR; } YY_BREAK case 5: YY_RULE_SETUP +#line 74 "sel-lex.l" { return kw_IN; } YY_BREAK case 6: YY_RULE_SETUP +#line 75 "sel-lex.l" { return kw_TAILMATCH; } YY_BREAK case 7: YY_RULE_SETUP +#line 77 "sel-lex.l" { yylval.string = strdup ((const char *)yytext); return IDENTIFIER; @@ -826,25 +842,31 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP +#line 81 "sel-lex.l" { yylval.string = handle_string(); return STRING; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP +#line 82 "sel-lex.l" { ++lineno; } YY_BREAK case 10: YY_RULE_SETUP +#line 83 "sel-lex.l" { return *yytext; } YY_BREAK case 11: YY_RULE_SETUP +#line 84 "sel-lex.l" ; YY_BREAK case 12: YY_RULE_SETUP +#line 85 "sel-lex.l" ECHO; YY_BREAK +#line 870 "lex.yy.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -986,7 +1008,7 @@ case YY_STATE_EOF(INITIAL): */ static int yy_get_next_buffer (void) { - register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; register char *source = (yytext_ptr); register int number_to_move, i; int ret_val; @@ -1122,7 +1144,7 @@ static int yy_get_next_buffer (void) { register yy_state_type yy_current_state; register char *yy_cp; - + yy_current_state = (yy_start); for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp ) @@ -1153,7 +1175,7 @@ static int yy_get_next_buffer (void) static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state ) { register int yy_is_jam; - register char *yy_cp = (yy_c_buf_p); + register char *yy_cp = (yy_c_buf_p); register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) @@ -1176,7 +1198,7 @@ static int yy_get_next_buffer (void) static void yyunput (int c, register char * yy_bp ) { register char *yy_cp; - + yy_cp = (yy_c_buf_p); /* undo effects of setting up yytext */ @@ -1219,7 +1241,7 @@ static int yy_get_next_buffer (void) { int c; - + *(yy_c_buf_p) = (yy_hold_char); if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR ) @@ -1286,12 +1308,12 @@ static int yy_get_next_buffer (void) /** Immediately switch to a different input stream. * @param input_file A readable stream. - * + * * @note This function does not reset the start condition to @c INITIAL . */ void yyrestart (FILE * input_file ) { - + if ( ! YY_CURRENT_BUFFER ){ yyensure_buffer_stack (); YY_CURRENT_BUFFER_LVALUE = @@ -1304,11 +1326,11 @@ static int yy_get_next_buffer (void) /** Switch to a different input buffer. * @param new_buffer The new input buffer. - * + * */ void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ) { - + /* TODO. We should be able to replace this entire function body * with * yypop_buffer_state(); @@ -1339,7 +1361,7 @@ static int yy_get_next_buffer (void) static void yy_load_buffer_state (void) { - (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; (yy_hold_char) = *(yy_c_buf_p); @@ -1348,13 +1370,13 @@ static void yy_load_buffer_state (void) /** Allocate and initialize an input buffer state. * @param file A readable stream. * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. - * + * * @return the allocated buffer state. */ YY_BUFFER_STATE yy_create_buffer (FILE * file, int size ) { YY_BUFFER_STATE b; - + b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); @@ -1377,11 +1399,11 @@ static void yy_load_buffer_state (void) /** Destroy the buffer. * @param b a buffer created with yy_create_buffer() - * + * */ void yy_delete_buffer (YY_BUFFER_STATE b ) { - + if ( ! b ) return; @@ -1397,7 +1419,7 @@ static void yy_load_buffer_state (void) #ifndef __cplusplus extern int isatty (int ); #endif /* __cplusplus */ - + /* Initializes or reinitializes a buffer. * This function is sometimes called more than once on the same buffer, * such as during a yyrestart() or at EOF. @@ -1406,7 +1428,7 @@ extern int isatty (int ); { int oerrno = errno; - + yy_flush_buffer(b ); b->yy_input_file = file; @@ -1422,17 +1444,17 @@ extern int isatty (int ); } b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; - + errno = oerrno; } /** Discard all buffered characters. On the next scan, YY_INPUT will be called. * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. - * + * */ void yy_flush_buffer (YY_BUFFER_STATE b ) { - if ( ! b ) + if ( ! b ) return; b->yy_n_chars = 0; @@ -1457,11 +1479,11 @@ extern int isatty (int ); * the current state. This function will allocate the stack * if necessary. * @param new_buffer The new state. - * + * */ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) { - if (new_buffer == NULL) + if (new_buffer == NULL) return; yyensure_buffer_stack(); @@ -1487,11 +1509,11 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer ) /** Removes and deletes the top of the stack, if present. * The next element becomes the new top. - * + * */ void yypop_buffer_state (void) { - if (!YY_CURRENT_BUFFER) + if (!YY_CURRENT_BUFFER) return; yy_delete_buffer(YY_CURRENT_BUFFER ); @@ -1511,7 +1533,7 @@ void yypop_buffer_state (void) static void yyensure_buffer_stack (void) { int num_to_alloc; - + if (!(yy_buffer_stack)) { /* First allocation is just for 2 elements, since we don't know if this @@ -1524,9 +1546,9 @@ static void yyensure_buffer_stack (void) ); if ( ! (yy_buffer_stack) ) YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" ); - + memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*)); - + (yy_buffer_stack_max) = num_to_alloc; (yy_buffer_stack_top) = 0; return; @@ -1554,13 +1576,13 @@ static void yyensure_buffer_stack (void) /** Setup the input buffer state to scan directly from a user-specified character buffer. * @param base the character buffer * @param size the size in bytes of the character buffer - * - * @return the newly allocated buffer state object. + * + * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) { YY_BUFFER_STATE b; - + if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) @@ -1589,14 +1611,14 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size ) /** Setup the input buffer state to scan a string. The next call to yylex() will * scan from a @e copy of @a str. * @param yystr a NUL-terminated string to scan - * + * * @return the newly allocated buffer state object. * @note If you want to scan bytes that may contain NUL values, then use * yy_scan_bytes() instead. */ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) { - + return yy_scan_bytes(yystr,strlen(yystr) ); } @@ -1604,7 +1626,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr ) * scan from a @e copy of @a bytes. * @param bytes the byte buffer to scan * @param len the number of bytes in the buffer pointed to by @a bytes. - * + * * @return the newly allocated buffer state object. */ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) @@ -1613,7 +1635,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) char *buf; yy_size_t n; int i; - + /* Get memory for full buffer, including space for trailing EOB's. */ n = _yybytes_len + 2; buf = (char *) yyalloc(n ); @@ -1643,7 +1665,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len ) static void yy_fatal_error (yyconst char* msg ) { - (void) fprintf( stderr, "%s\n", msg ); + (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } @@ -1667,16 +1689,16 @@ static void yy_fatal_error (yyconst char* msg ) /* Accessor methods (get/set functions) to struct members. */ /** Get the current line number. - * + * */ int yyget_lineno (void) { - + return yylineno; } /** Get the input stream. - * + * */ FILE *yyget_in (void) { @@ -1684,7 +1706,7 @@ FILE *yyget_in (void) } /** Get the output stream. - * + * */ FILE *yyget_out (void) { @@ -1692,7 +1714,7 @@ FILE *yyget_out (void) } /** Get the length of the current token. - * + * */ int yyget_leng (void) { @@ -1700,7 +1722,7 @@ int yyget_leng (void) } /** Get the current token. - * + * */ char *yyget_text (void) @@ -1710,18 +1732,18 @@ char *yyget_text (void) /** Set the current line number. * @param line_number - * + * */ void yyset_lineno (int line_number ) { - + yylineno = line_number; } /** Set the input stream. This does not discard the current * input buffer. * @param in_str A readable stream. - * + * * @see yy_switch_to_buffer */ void yyset_in (FILE * in_str ) @@ -1775,7 +1797,7 @@ static int yy_init_globals (void) /* yylex_destroy is for both reentrant and non-reentrant scanners. */ int yylex_destroy (void) { - + /* Pop the buffer stack, destroying each element. */ while(YY_CURRENT_BUFFER){ yy_delete_buffer(YY_CURRENT_BUFFER ); @@ -1842,6 +1864,10 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" +#line 85 "sel-lex.l" + + + static char * handle_string(void) { @@ -1895,4 +1921,3 @@ lex_input(char *buf, int max_size) return n; } - diff --git a/source4/heimdal/lib/hx509/sel-gram.c b/source4/heimdal/lib/hx509/sel-gram.c index 93940464eb..5e705f19fd 100644 --- a/source4/heimdal/lib/hx509/sel-gram.c +++ b/source4/heimdal/lib/hx509/sel-gram.c @@ -31,6 +31,7 @@ static const char yysccsid[] = "@(#)yaccpar 1.9 (Berkeley) 02/21/93"; extern int YYPARSE_DECL(); +#line 35 "" #ifdef HAVE_CONFIG_H #include #endif @@ -39,10 +40,12 @@ extern int YYPARSE_DECL(); #include +#line 45 "" typedef union { char *string; struct hx_expr *expr; } YYSTYPE; +#line 48 "" #define kw_TRUE 257 #define kw_FALSE 258 #define kw_AND 259 @@ -433,83 +436,109 @@ yyreduce: switch (yyn) { case 1: +#line 73 "" { _hx509_expr_input.expr = yystack.l_mark[0].expr; } break; case 2: +#line 75 "" { yyval.expr = _hx509_make_expr(op_TRUE, NULL, NULL); } break; case 3: +#line 76 "" { yyval.expr = _hx509_make_expr(op_FALSE, NULL, NULL); } break; case 4: +#line 77 "" { yyval.expr = _hx509_make_expr(op_NOT, yystack.l_mark[0].expr, NULL); } break; case 5: +#line 78 "" { yyval.expr = _hx509_make_expr(op_AND, yystack.l_mark[-2].expr, yystack.l_mark[0].expr); } break; case 6: +#line 79 "" { yyval.expr = _hx509_make_expr(op_OR, yystack.l_mark[-2].expr, yystack.l_mark[0].expr); } break; case 7: +#line 80 "" { yyval.expr = yystack.l_mark[-1].expr; } break; case 8: +#line 81 "" { yyval.expr = _hx509_make_expr(op_COMP, yystack.l_mark[0].expr, NULL); } break; case 9: +#line 84 "" { yyval.expr = _hx509_make_expr(expr_WORDS, yystack.l_mark[0].expr, NULL); } break; case 10: +#line 85 "" { yyval.expr = _hx509_make_expr(expr_WORDS, yystack.l_mark[-2].expr, yystack.l_mark[0].expr); } break; case 11: +#line 88 "" { yyval.expr = _hx509_make_expr(comp_EQ, yystack.l_mark[-3].expr, yystack.l_mark[0].expr); } break; case 12: +#line 89 "" { yyval.expr = _hx509_make_expr(comp_NE, yystack.l_mark[-3].expr, yystack.l_mark[0].expr); } break; case 13: +#line 90 "" { yyval.expr = _hx509_make_expr(comp_TAILEQ, yystack.l_mark[-2].expr, yystack.l_mark[0].expr); } break; case 14: +#line 91 "" { yyval.expr = _hx509_make_expr(comp_IN, yystack.l_mark[-4].expr, yystack.l_mark[-1].expr); } break; case 15: +#line 92 "" { yyval.expr = _hx509_make_expr(comp_IN, yystack.l_mark[-2].expr, yystack.l_mark[0].expr); } break; case 16: +#line 95 "" { yyval.expr = yystack.l_mark[0].expr; } break; case 17: +#line 96 "" { yyval.expr = yystack.l_mark[0].expr; } break; case 18: +#line 97 "" { yyval.expr = yystack.l_mark[0].expr; } break; case 19: +#line 98 "" { yyval.expr = yystack.l_mark[0].expr; } break; case 20: +#line 101 "" { yyval.expr = _hx509_make_expr(expr_NUMBER, yystack.l_mark[0].string, NULL); } break; case 21: +#line 102 "" { yyval.expr = _hx509_make_expr(expr_STRING, yystack.l_mark[0].string, NULL); } break; case 22: +#line 104 "" { yyval.expr = _hx509_make_expr(expr_FUNCTION, yystack.l_mark[-3].string, yystack.l_mark[-1].expr); } break; case 23: +#line 107 "" { yyval.expr = yystack.l_mark[-1].expr; } break; case 24: +#line 110 "" { yyval.expr = _hx509_make_expr(expr_VAR, yystack.l_mark[-2].string, yystack.l_mark[0].expr); } break; case 25: +#line 112 "" { yyval.expr = _hx509_make_expr(expr_VAR, yystack.l_mark[0].string, NULL); } break; +#line 541 "" } yystack.s_mark -= yym; yystate = *yystack.s_mark; diff --git a/source4/heimdal/lib/hx509/sel-lex.c b/source4/heimdal/lib/hx509/sel-lex.c index e0efbf4e58..703747217f 100644 --- a/source4/heimdal/lib/hx509/sel-lex.c +++ b/source4/heimdal/lib/hx509/sel-lex.c @@ -468,6 +468,8 @@ int yy_flex_debug = 0; #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; +#line 1 "sel-lex.l" +#line 2 "sel-lex.l" /* * Copyright (c) 2004, 2008 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). @@ -533,6 +535,8 @@ struct hx_expr_input _hx509_expr_input; #undef ECHO +#line 538 "" + #define INITIAL 0 #ifndef YY_NO_UNISTD_H @@ -713,6 +717,11 @@ YY_DECL register char *yy_cp, *yy_bp; register int yy_act; +#line 68 "sel-lex.l" + + +#line 723 "" + if ( !(yy_init) ) { (yy_init) = 1; @@ -796,30 +805,37 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP +#line 70 "sel-lex.l" { return kw_TRUE; } YY_BREAK case 2: YY_RULE_SETUP +#line 71 "sel-lex.l" { return kw_FALSE; } YY_BREAK case 3: YY_RULE_SETUP +#line 72 "sel-lex.l" { return kw_AND; } YY_BREAK case 4: YY_RULE_SETUP +#line 73 "sel-lex.l" { return kw_OR; } YY_BREAK case 5: YY_RULE_SETUP +#line 74 "sel-lex.l" { return kw_IN; } YY_BREAK case 6: YY_RULE_SETUP +#line 75 "sel-lex.l" { return kw_TAILMATCH; } YY_BREAK case 7: YY_RULE_SETUP +#line 77 "sel-lex.l" { yylval.string = strdup ((const char *)yytext); return IDENTIFIER; @@ -827,25 +843,31 @@ YY_RULE_SETUP YY_BREAK case 8: YY_RULE_SETUP +#line 81 "sel-lex.l" { yylval.string = handle_string(); return STRING; } YY_BREAK case 9: /* rule 9 can match eol */ YY_RULE_SETUP +#line 82 "sel-lex.l" { ++lineno; } YY_BREAK case 10: YY_RULE_SETUP +#line 83 "sel-lex.l" { return *yytext; } YY_BREAK case 11: YY_RULE_SETUP +#line 84 "sel-lex.l" ; YY_BREAK case 12: YY_RULE_SETUP +#line 85 "sel-lex.l" ECHO; YY_BREAK +#line 870 "" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -1843,6 +1865,10 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" +#line 85 "sel-lex.l" + + + static char * handle_string(void) { diff --git a/source4/heimdal_build/lexyacc.sh b/source4/heimdal_build/lexyacc.sh index db44e3e275..cee21668e5 100755 --- a/source4/heimdal_build/lexyacc.sh +++ b/source4/heimdal_build/lexyacc.sh @@ -24,8 +24,7 @@ call_lex() { cd $dir - # --noline specified because line directives cause more bother than they solve (including possibly invalid DWARF headers if the filename ends up as "") - $LEX --noline $lfile || exit 1 + $LEX $lfile || exit 1 if [ -r lex.yy.c ]; then echo "#include \"config.h\"" > $base.c @@ -60,8 +59,7 @@ call_yacc() { cd $dir - # -l specified because line directives cause more bother than they solve (including possibly invalid DWARF headers if the filename ends up as "") - $YACC -l -d $yfile || exit 1 + $YACC -d $yfile || exit 1 if [ -r y.tab.h -a -r y.tab.c ];then sed -e "/^#/!b" -e "s|y\.tab\.h|$SRC|" -e "s|\"$base.y|\"$SRC|" y.tab.h > $base.h sed -e "s|y\.tab\.c|$SRC|" -e "s|\"$base.y|\"$SRC|" y.tab.c > $base.c -- cgit