Ignore:
Timestamp:
2000-08-04T12:32:20+12:00 (24 years ago)
Author:
jrm21
Message:

Fixed up parsing of z39.50 config file, so that errors go to file instead
of stderr, which screws up the cgi headers and page...
Errors goes to etc/recpt/z3950err.txt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/zparse.tab.c

    r1347 r1355  
    7070
    7171/* defined in z3950proto.cpp */
    72 extern struct z3950cfg *zservers_cfg_file;
     72struct z3950cfg *zserver_list=NULL;
    7373
    7474int yylex(void);
     
    157157#if YYDEBUG != 0
    158158static const short yyrline[] = { 0,
    159     82,    85,    86,    88,    89,    91,   108,   111,   112,   117,
    160    118,   121,   122,   125,   126,   127,   132,   134,   135,   137,
    161    139,   142,   153,   175,   183,   191,   193,   194,   196,   197
     159    82,    85,    86,    88,    89,    91,   111,   115,   116,   121,
     160   122,   125,   126,   129,   130,   131,   136,   138,   139,   141,
     161   143,   146,   157,   179,   187,   195,   197,   198,   200,   201
    162162};
    163163#endif
     
    787787case 3:
    788788#line 86 "zparse.y"
    789 {fprintf(stderr,"No version - not GSDL config file?\n");exit(1);;
     789{fprintf(stderr,"No version - not GSDL config file?\n");return(1);;
    790790    break;}
    791791case 4:
     
    800800             else {
    801801               if((yyval.cfg=malloc(sizeof(struct z3950cfg)))==NULL)
    802              fprintf(stderr,"malloc failed\n");
     802             {
     803               fprintf(stderr,"malloc failed\n");
     804               return(1);
     805             }
    803806               yyval.cfg->shortname=yyvsp[-7].string;
    804807               yyval.cfg->hostname=yyvsp[-6].string;
     
    813816    break;}
    814817case 7:
    815 #line 108 "zparse.y"
    816 {yyval.cfg=NULL;printf("discarding zserver\n");;
     818#line 111 "zparse.y"
     819{yyval.cfg=NULL;
     820          fprintf(stderr,"discarding zserver (line %d)\n",lineno);;
    817821    break;}
    818822case 8:
    819 #line 111 "zparse.y"
     823#line 115 "zparse.y"
    820824{;;
    821825    break;}
    822826case 9:
    823 #line 112 "zparse.y"
     827#line 116 "zparse.y"
    824828{errormsg("Database name needs to be followed by a short "
    825829              "descriptive name (enclosed in \" marks)");
     
    828832    break;}
    829833case 10:
    830 #line 117 "zparse.y"
     834#line 121 "zparse.y"
    831835{yyval.number=atoi(yyvsp[0].string);;
    832836    break;}
    833837case 11:
    834 #line 118 "zparse.y"
     838#line 122 "zparse.y"
    835839{yyval.number=210;;
    836840    break;}
    837841case 12:
    838 #line 121 "zparse.y"
     842#line 125 "zparse.y"
    839843{yyval.string=yyvsp[0].string;;
    840844    break;}
    841845case 13:
    842 #line 122 "zparse.y"
     846#line 126 "zparse.y"
    843847{yyval.string=yyvsp[0].string;
    844848                  errormsg("Icon must be enclosed in quotes");
     
    846850    break;}
    847851case 14:
    848 #line 125 "zparse.y"
     852#line 129 "zparse.y"
    849853{yyval.string=NULL;;
    850854    break;}
    851855case 15:
    852 #line 126 "zparse.y"
     856#line 130 "zparse.y"
    853857{yyval.string=yyvsp[0].string;;
    854858    break;}
    855859case 16:
    856 #line 127 "zparse.y"
     860#line 131 "zparse.y"
    857861{yyval.string=yyvsp[0].string;
    858862          /* this is because of the ':' */
     
    862866    break;}
    863867case 17:
    864 #line 132 "zparse.y"
     868#line 136 "zparse.y"
    865869{yyval.string=NULL;;
    866870    break;}
    867871case 18:
    868 #line 134 "zparse.y"
     872#line 138 "zparse.y"
    869873{defLanguage=0;;
    870874    break;}
    871875case 19:
    872 #line 135 "zparse.y"
     876#line 139 "zparse.y"
    873877{yyval.about=NULL;;
    874878    break;}
    875879case 20:
    876 #line 137 "zparse.y"
     880#line 141 "zparse.y"
    877881{;;
    878882    break;}
    879883case 21:
    880 #line 139 "zparse.y"
     884#line 143 "zparse.y"
    881885{yyval.about=yyvsp[0].about;yyvsp[0].about->next=yyvsp[-1].about;;
    882886    break;}
    883887case 22:
    884 #line 143 "zparse.y"
     888#line 147 "zparse.y"
    885889{
    886890                   if((yyval.about=malloc(sizeof(struct z3950aboutlist)))
    887891                  ==NULL) {
    888892                 fprintf(stderr,"Malloc failed\n");
    889                  exit(1);
     893                 return(1);
    890894                   }
    891895                   yyval.about->lang=yyvsp[-1].string;
     
    895899    break;}
    896900case 23:
    897 #line 154 "zparse.y"
     901#line 158 "zparse.y"
    898902{
    899903                   if (defLanguage)
     
    906910                  ==NULL) {
    907911                 fprintf(stderr,"Malloc failed\n");
    908                  exit(1);
     912                 return(1);
    909913                   }
    910914                   yyval.about->lang=NULL; /* default lang... */
     
    914918    break;}
    915919case 24:
    916 #line 176 "zparse.y"
     920#line 180 "zparse.y"
    917921{
    918922                   yyval.string=malloc(strlen(yyvsp[-2].string)+strlen(yyvsp[0].string)+1);
     
    924928    break;}
    925929case 25:
    926 #line 183 "zparse.y"
     930#line 187 "zparse.y"
    927931{;;
    928932    break;}
    929933case 26:
    930 #line 191 "zparse.y"
     934#line 195 "zparse.y"
    931935{errormsg("missing language");;
    932936    break;}
    933937case 27:
    934 #line 193 "zparse.y"
     938#line 197 "zparse.y"
    935939{;;
    936940    break;}
    937941case 28:
    938 #line 194 "zparse.y"
     942#line 198 "zparse.y"
    939943{;;
    940944    break;}
    941945case 29:
    942 #line 196 "zparse.y"
     946#line 200 "zparse.y"
    943947{;;
    944948    break;}
    945949case 30:
    946 #line 197 "zparse.y"
     950#line 201 "zparse.y"
    947951{;;
    948952    break;}
     
    11701174  return 1;
    11711175}
    1172 #line 200 "zparse.y"
     1176#line 204 "zparse.y"
    11731177
    11741178/*int strncasecmp (const char *, const char *,size_t);*/
Note: See TracChangeset for help on using the changeset viewer.