* about m4 quoting &c., but we have to #include it so that the C
* objects from the lexer are available.
*
- * Copyright (C)1996-1999 Ian Jackson
+ * Copyright (C)1996-1999,2001,2006,2012 Ian Jackson
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
int v;
p=q=inplace;
- assert(*p++ = '"');
+ assert(*p=='"'); p++;
while (*p && *p != '"') {
if (*p != '\\') { *q++= *p++; continue; }
switch (*++p) {
}
}
}
- assert(*p); assert(!*++p);
+ assert(*p); p++; assert(!*p);
*q++= 0;
return tokv_quotedstring;
}
return buf;
} else if (token & tokt_number) {
snyprintf(buf,sizeof(buf),"number %d",lr_min); return buf;
+ } else if (token & tokt_fdrange && token & tokr_word) {
+ snyprintf(buf,sizeof(buf),"fd %s",buf); return buf;
} else if (token & tokt_fdrange && lr_max==-1) {
snyprintf(buf,sizeof(buf),"fdrange %d-",lr_min); return buf;
} else if (token & tokt_fdrange) {
for (;;) { /* loop over lines */
cstate->reportlineno= cstate->lineno;
- do { token= yylex(); } while (token == tokv_lwsp);
+ do { token= yylex(); } while (token == tokv_lwsp || token == tokv_newline);
if (token & tokt_exception) {
return token;
} else if (token & tokt_controlend) {