summaryrefslogtreecommitdiff
path: root/package/ipsec-tools/patches/patch-src_setkey_token_c
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2011-03-31 20:20:09 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-03-31 20:20:09 +0200
commitc2bd3a43342e37a05a97e12581dd2bd52993877a (patch)
tree39f9427d581669d8f619b4df44c5c5548c8fd955 /package/ipsec-tools/patches/patch-src_setkey_token_c
parentac46bdeef28bc2b65e1880884a79257c28e423a7 (diff)
Revert "fix conflict, autoseect libgcj"
This reverts commit ac46bdeef28bc2b65e1880884a79257c28e423a7, reversing changes made to 418fb3668f7140cc3e2ba07c354fe0d9bbb47d04.
Diffstat (limited to 'package/ipsec-tools/patches/patch-src_setkey_token_c')
-rw-r--r--package/ipsec-tools/patches/patch-src_setkey_token_c707
1 files changed, 707 insertions, 0 deletions
diff --git a/package/ipsec-tools/patches/patch-src_setkey_token_c b/package/ipsec-tools/patches/patch-src_setkey_token_c
new file mode 100644
index 000000000..1c0231885
--- /dev/null
+++ b/package/ipsec-tools/patches/patch-src_setkey_token_c
@@ -0,0 +1,707 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- ipsec-tools-0.7.2.orig/src/setkey/token.c 2008-07-23 10:26:58.000000000 +0200
++++ ipsec-tools-0.7.2/src/setkey/token.c 2009-05-29 15:26:39.126303087 +0200
+@@ -8,7 +8,7 @@
+ #define FLEX_SCANNER
+ #define YY_FLEX_MAJOR_VERSION 2
+ #define YY_FLEX_MINOR_VERSION 5
+-#define YY_FLEX_SUBMINOR_VERSION 34
++#define YY_FLEX_SUBMINOR_VERSION 35
+ #if YY_FLEX_SUBMINOR_VERSION > 0
+ #define FLEX_BETA
+ #endif
+@@ -178,13 +178,6 @@ extern FILE *yyin, *yyout;
+
+ #define unput(c) yyunput( c, (yytext_ptr) )
+
+-/* The following is because we cannot portably get our hands on size_t
+- * (without autoconf's help, which isn't available because we want
+- * flex-generated scanners to compile on their own).
+- * Given that the standard has decreed that size_t exists since 1989,
+- * I guess we can afford to depend on it. Manoj.
+- */
+-
+ #ifndef YY_TYPEDEF_YY_SIZE_T
+ #define YY_TYPEDEF_YY_SIZE_T
+ typedef size_t yy_size_t;
+@@ -1069,9 +1062,10 @@ char *yytext;
+ #if defined(SADB_X_EALG_AES) && ! defined(SADB_X_EALG_AESCBC)
+ #define SADB_X_EALG_AESCBC SADB_X_EALG_AES
+ #endif
++int yywrap(void) { return 1; }
+ /* common section */
+
+-#line 1075 "token.c"
++#line 1069 "token.c"
+
+ #define INITIAL 0
+ #define S_PL 1
+@@ -1092,6 +1086,35 @@ char *yytext;
+
+ static int yy_init_globals (void );
+
++/* Accessor methods to globals.
++ These are made visible to non-reentrant scanners for convenience. */
++
++int yylex_destroy (void );
++
++int yyget_debug (void );
++
++void yyset_debug (int debug_flag );
++
++YY_EXTRA_TYPE yyget_extra (void );
++
++void yyset_extra (YY_EXTRA_TYPE user_defined );
++
++FILE *yyget_in (void );
++
++void yyset_in (FILE * in_str );
++
++FILE *yyget_out (void );
++
++void yyset_out (FILE * out_str );
++
++int yyget_leng (void );
++
++char *yyget_text (void );
++
++int yyget_lineno (void );
++
++void yyset_lineno (int line_number );
++
+ /* Macros after this point can all be overridden by user definitions in
+ * section 1.
+ */
+@@ -1227,10 +1250,10 @@ YY_DECL
+ register char *yy_cp, *yy_bp;
+ register int yy_act;
+
+-#line 114 "token.l"
++#line 115 "token.l"
+
+
+-#line 1234 "token.c"
++#line 1257 "token.c"
+
+ if ( !(yy_init) )
+ {
+@@ -1321,84 +1344,84 @@ do_action: /* This label is used only to
+
+ case 1:
+ YY_RULE_SETUP
+-#line 116 "token.l"
++#line 117 "token.l"
+ { return(ADD); }
+ YY_BREAK
+ case 2:
+ YY_RULE_SETUP
+-#line 117 "token.l"
++#line 118 "token.l"
+ { return(DELETE); }
+ YY_BREAK
+ case 3:
+ YY_RULE_SETUP
+-#line 118 "token.l"
++#line 119 "token.l"
+ { return(DELETEALL); }
+ YY_BREAK
+ case 4:
+ YY_RULE_SETUP
+-#line 119 "token.l"
++#line 120 "token.l"
+ { return(GET); }
+ YY_BREAK
+ case 5:
+ YY_RULE_SETUP
+-#line 120 "token.l"
++#line 121 "token.l"
+ { return(FLUSH); }
+ YY_BREAK
+ case 6:
+ YY_RULE_SETUP
+-#line 121 "token.l"
++#line 122 "token.l"
+ { return(DUMP); }
+ YY_BREAK
+ case 7:
+ YY_RULE_SETUP
+-#line 122 "token.l"
++#line 123 "token.l"
+ { return(EXIT); }
+ YY_BREAK
+ case 8:
+ YY_RULE_SETUP
+-#line 123 "token.l"
++#line 124 "token.l"
+ { return(EXIT); }
+ YY_BREAK
+ case 9:
+ YY_RULE_SETUP
+-#line 124 "token.l"
++#line 125 "token.l"
+ { return(EXIT); }
+ YY_BREAK
+ /* for management SPD */
+ case 10:
+ YY_RULE_SETUP
+-#line 127 "token.l"
++#line 128 "token.l"
+ { return(SPDADD); }
+ YY_BREAK
+ case 11:
+ YY_RULE_SETUP
+-#line 128 "token.l"
++#line 129 "token.l"
+ { return(SPDDELETE); }
+ YY_BREAK
+ case 12:
+ YY_RULE_SETUP
+-#line 129 "token.l"
++#line 130 "token.l"
+ { return(SPDDUMP); }
+ YY_BREAK
+ case 13:
+ YY_RULE_SETUP
+-#line 130 "token.l"
++#line 131 "token.l"
+ { return(SPDFLUSH); }
+ YY_BREAK
+ case 14:
+ YY_RULE_SETUP
+-#line 131 "token.l"
++#line 132 "token.l"
+ { return(TAGGED); }
+ YY_BREAK
+ case 15:
+ YY_RULE_SETUP
+-#line 132 "token.l"
++#line 133 "token.l"
+ { BEGIN S_PL; return(F_POLICY); }
+ YY_BREAK
+ case 16:
+ /* rule 16 can match eol */
+ YY_RULE_SETUP
+-#line 133 "token.l"
++#line 134 "token.l"
+ {
+ yymore();
+
+@@ -1420,13 +1443,13 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 17:
+ YY_RULE_SETUP
+-#line 151 "token.l"
++#line 152 "token.l"
+ { BEGIN INITIAL; return(EOT); }
+ YY_BREAK
+ /* address resolution flags */
+ case 18:
+ YY_RULE_SETUP
+-#line 154 "token.l"
++#line 155 "token.l"
+ {
+ yylval.val.len = strlen(yytext);
+ yylval.val.buf = strdup(yytext);
+@@ -1438,37 +1461,37 @@ YY_RULE_SETUP
+ /* security protocols */
+ case 19:
+ YY_RULE_SETUP
+-#line 163 "token.l"
++#line 164 "token.l"
+ { yylval.num = 0; return(PR_AH); }
+ YY_BREAK
+ case 20:
+ YY_RULE_SETUP
+-#line 164 "token.l"
++#line 165 "token.l"
+ { yylval.num = 0; return(PR_ESP); }
+ YY_BREAK
+ case 21:
+ YY_RULE_SETUP
+-#line 165 "token.l"
++#line 166 "token.l"
+ { yylval.num = 1; return(PR_AH); }
+ YY_BREAK
+ case 22:
+ YY_RULE_SETUP
+-#line 166 "token.l"
++#line 167 "token.l"
+ { yylval.num = 1; return(PR_ESP); }
+ YY_BREAK
+ case 23:
+ YY_RULE_SETUP
+-#line 167 "token.l"
++#line 168 "token.l"
+ { yylval.num = 0; return(PR_ESPUDP); }
+ YY_BREAK
+ case 24:
+ YY_RULE_SETUP
+-#line 168 "token.l"
++#line 169 "token.l"
+ { yylval.num = 0; return(PR_IPCOMP); }
+ YY_BREAK
+ case 25:
+ YY_RULE_SETUP
+-#line 169 "token.l"
++#line 170 "token.l"
+ {
+ yylval.num = 0; return(PR_TCP);
+ }
+@@ -1476,72 +1499,72 @@ YY_RULE_SETUP
+ /* authentication alogorithm */
+ case 26:
+ YY_RULE_SETUP
+-#line 174 "token.l"
++#line 175 "token.l"
+ { BEGIN S_AUTHALG; return(F_AUTH); }
+ YY_BREAK
+ case 27:
+ YY_RULE_SETUP
+-#line 175 "token.l"
++#line 176 "token.l"
+ { yylval.num = SADB_AALG_MD5HMAC; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 28:
+ YY_RULE_SETUP
+-#line 176 "token.l"
++#line 177 "token.l"
+ { yylval.num = SADB_AALG_SHA1HMAC; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 29:
+ YY_RULE_SETUP
+-#line 177 "token.l"
++#line 178 "token.l"
+ { yylval.num = SADB_X_AALG_MD5; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 30:
+ YY_RULE_SETUP
+-#line 178 "token.l"
++#line 179 "token.l"
+ { yylval.num = SADB_X_AALG_SHA; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 31:
+ YY_RULE_SETUP
+-#line 179 "token.l"
++#line 180 "token.l"
+ { yylval.num = SADB_X_AALG_SHA2_256; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 32:
+ YY_RULE_SETUP
+-#line 180 "token.l"
++#line 181 "token.l"
+ { yylval.num = SADB_X_AALG_SHA2_256; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 33:
+ YY_RULE_SETUP
+-#line 181 "token.l"
++#line 182 "token.l"
+ { yylval.num = SADB_X_AALG_SHA2_384; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 34:
+ YY_RULE_SETUP
+-#line 182 "token.l"
++#line 183 "token.l"
+ { yylval.num = SADB_X_AALG_SHA2_384; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 35:
+ YY_RULE_SETUP
+-#line 183 "token.l"
++#line 184 "token.l"
+ { yylval.num = SADB_X_AALG_SHA2_512; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 36:
+ YY_RULE_SETUP
+-#line 184 "token.l"
++#line 185 "token.l"
+ { yylval.num = SADB_X_AALG_SHA2_512; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 37:
+ YY_RULE_SETUP
+-#line 185 "token.l"
++#line 186 "token.l"
+ { yylval.num = SADB_X_AALG_RIPEMD160HMAC; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 38:
+ YY_RULE_SETUP
+-#line 186 "token.l"
++#line 187 "token.l"
+ { yylval.num = SADB_X_AALG_AES_XCBC_MAC; BEGIN INITIAL; return(ALG_AUTH); }
+ YY_BREAK
+ case 39:
+ YY_RULE_SETUP
+-#line 187 "token.l"
++#line 188 "token.l"
+ {
+ #ifdef SADB_X_AALG_TCP_MD5
+ yylval.num = SADB_X_AALG_TCP_MD5;
+@@ -1552,63 +1575,63 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 40:
+ YY_RULE_SETUP
+-#line 194 "token.l"
++#line 195 "token.l"
+ { yylval.num = SADB_X_AALG_NULL; BEGIN INITIAL; return(ALG_AUTH_NOKEY); }
+ YY_BREAK
+ /* encryption alogorithm */
+ case 41:
+ YY_RULE_SETUP
+-#line 197 "token.l"
++#line 198 "token.l"
+ { BEGIN S_ENCALG; return(F_ENC); }
+ YY_BREAK
+ case 42:
+ YY_RULE_SETUP
+-#line 198 "token.l"
++#line 199 "token.l"
+ { yylval.num = SADB_EALG_DESCBC; BEGIN INITIAL; return(ALG_ENC); }
+ YY_BREAK
+ case 43:
+ YY_RULE_SETUP
+-#line 199 "token.l"
++#line 200 "token.l"
+ { yylval.num = SADB_EALG_3DESCBC; BEGIN INITIAL; return(ALG_ENC); }
+ YY_BREAK
+ case 44:
+ YY_RULE_SETUP
+-#line 200 "token.l"
++#line 201 "token.l"
+ { yylval.num = SADB_EALG_NULL; BEGIN INITIAL; return(ALG_ENC_NOKEY); }
+ YY_BREAK
+ case 45:
+ YY_RULE_SETUP
+-#line 201 "token.l"
++#line 202 "token.l"
+ { yylval.num = SADB_EALG_NULL; BEGIN INITIAL; return(ALG_ENC_OLD); }
+ YY_BREAK
+ case 46:
+ YY_RULE_SETUP
+-#line 202 "token.l"
++#line 203 "token.l"
+ { yylval.num = SADB_X_EALG_BLOWFISHCBC; BEGIN INITIAL; return(ALG_ENC); }
+ YY_BREAK
+ case 47:
+ YY_RULE_SETUP
+-#line 203 "token.l"
++#line 204 "token.l"
+ { yylval.num = SADB_X_EALG_CAST128CBC; BEGIN INITIAL; return(ALG_ENC); }
+ YY_BREAK
+ case 48:
+ YY_RULE_SETUP
+-#line 204 "token.l"
++#line 205 "token.l"
+ { yylval.num = SADB_EALG_DESCBC; BEGIN INITIAL; return(ALG_ENC_DESDERIV); }
+ YY_BREAK
+ case 49:
+ YY_RULE_SETUP
+-#line 205 "token.l"
++#line 206 "token.l"
+ { yylval.num = SADB_EALG_DESCBC; BEGIN INITIAL; return(ALG_ENC_DES32IV); }
+ YY_BREAK
+ case 50:
+ YY_RULE_SETUP
+-#line 206 "token.l"
++#line 207 "token.l"
+ { yylval.num = SADB_X_EALG_TWOFISHCBC; BEGIN INITIAL; return(ALG_ENC); }
+ YY_BREAK
+ case 51:
+ YY_RULE_SETUP
+-#line 207 "token.l"
++#line 208 "token.l"
+ {
+ #ifdef SADB_X_EALG_AESCBC
+ yylval.num = SADB_X_EALG_AESCBC; BEGIN INITIAL; return(ALG_ENC);
+@@ -1617,7 +1640,7 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 52:
+ YY_RULE_SETUP
+-#line 212 "token.l"
++#line 213 "token.l"
+ {
+ #ifdef SADB_X_EALG_AESCBC
+ yylval.num = SADB_X_EALG_AESCBC; BEGIN INITIAL; return(ALG_ENC);
+@@ -1626,12 +1649,12 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 53:
+ YY_RULE_SETUP
+-#line 217 "token.l"
++#line 218 "token.l"
+ { yylval.num = SADB_X_EALG_AESCTR; BEGIN INITIAL; return(ALG_ENC); }
+ YY_BREAK
+ case 54:
+ YY_RULE_SETUP
+-#line 218 "token.l"
++#line 219 "token.l"
+ {
+ #ifdef SADB_X_EALG_CAMELLIACBC
+ yylval.num = SADB_X_EALG_CAMELLIACBC; BEGIN INITIAL; return(ALG_ENC);
+@@ -1641,152 +1664,152 @@ YY_RULE_SETUP
+ /* compression algorithms */
+ case 55:
+ YY_RULE_SETUP
+-#line 225 "token.l"
++#line 226 "token.l"
+ { return(F_COMP); }
+ YY_BREAK
+ case 56:
+ YY_RULE_SETUP
+-#line 226 "token.l"
++#line 227 "token.l"
+ { yylval.num = SADB_X_CALG_OUI; return(ALG_COMP); }
+ YY_BREAK
+ case 57:
+ YY_RULE_SETUP
+-#line 227 "token.l"
++#line 228 "token.l"
+ { yylval.num = SADB_X_CALG_DEFLATE; return(ALG_COMP); }
+ YY_BREAK
+ case 58:
+ YY_RULE_SETUP
+-#line 228 "token.l"
++#line 229 "token.l"
+ { yylval.num = SADB_X_CALG_LZS; return(ALG_COMP); }
+ YY_BREAK
+ case 59:
+ YY_RULE_SETUP
+-#line 229 "token.l"
++#line 230 "token.l"
+ { return(F_RAWCPI); }
+ YY_BREAK
+ /* extension */
+ case 60:
+ YY_RULE_SETUP
+-#line 232 "token.l"
++#line 233 "token.l"
+ { return(F_MODE); }
+ YY_BREAK
+ case 61:
+ YY_RULE_SETUP
+-#line 233 "token.l"
++#line 234 "token.l"
+ { yylval.num = IPSEC_MODE_TRANSPORT; return(MODE); }
+ YY_BREAK
+ case 62:
+ YY_RULE_SETUP
+-#line 234 "token.l"
++#line 235 "token.l"
+ { yylval.num = IPSEC_MODE_TUNNEL; return(MODE); }
+ YY_BREAK
+ case 63:
+ YY_RULE_SETUP
+-#line 235 "token.l"
++#line 236 "token.l"
+ { return(F_REQID); }
+ YY_BREAK
+ case 64:
+ YY_RULE_SETUP
+-#line 236 "token.l"
++#line 237 "token.l"
+ { return(F_EXT); }
+ YY_BREAK
+ case 65:
+ YY_RULE_SETUP
+-#line 237 "token.l"
++#line 238 "token.l"
+ { yylval.num = SADB_X_EXT_PRAND; return(EXTENSION); }
+ YY_BREAK
+ case 66:
+ YY_RULE_SETUP
+-#line 238 "token.l"
++#line 239 "token.l"
+ { yylval.num = SADB_X_EXT_PSEQ; return(EXTENSION); }
+ YY_BREAK
+ case 67:
+ YY_RULE_SETUP
+-#line 239 "token.l"
++#line 240 "token.l"
+ { yylval.num = SADB_X_EXT_PZERO; return(EXTENSION); }
+ YY_BREAK
+ case 68:
+ YY_RULE_SETUP
+-#line 240 "token.l"
++#line 241 "token.l"
+ { return(NOCYCLICSEQ); }
+ YY_BREAK
+ case 69:
+ YY_RULE_SETUP
+-#line 241 "token.l"
++#line 242 "token.l"
+ { return(F_REPLAY); }
+ YY_BREAK
+ case 70:
+ YY_RULE_SETUP
+-#line 242 "token.l"
++#line 243 "token.l"
+ { return(F_LIFETIME_HARD); }
+ YY_BREAK
+ case 71:
+ YY_RULE_SETUP
+-#line 243 "token.l"
++#line 244 "token.l"
+ { return(F_LIFETIME_SOFT); }
+ YY_BREAK
+ case 72:
+ YY_RULE_SETUP
+-#line 244 "token.l"
++#line 245 "token.l"
+ { return(F_LIFEBYTE_HARD); }
+ YY_BREAK
+ case 73:
+ YY_RULE_SETUP
+-#line 245 "token.l"
++#line 246 "token.l"
+ { return(F_LIFEBYTE_SOFT); }
+ YY_BREAK
+ case 74:
+ YY_RULE_SETUP
+-#line 246 "token.l"
++#line 247 "token.l"
+ { return(SECURITY_CTX); }
+ YY_BREAK
+ /* ... */
+ case 75:
+ YY_RULE_SETUP
+-#line 249 "token.l"
++#line 250 "token.l"
+ { return(ANY); }
+ YY_BREAK
+ case 76:
+ YY_RULE_SETUP
+-#line 250 "token.l"
++#line 251 "token.l"
+ { }
+ YY_BREAK
+ case 77:
+ /* rule 77 can match eol */
+ YY_RULE_SETUP
+-#line 251 "token.l"
++#line 252 "token.l"
+ { lineno++; }
+ YY_BREAK
+ case 78:
+ YY_RULE_SETUP
+-#line 252 "token.l"
++#line 253 "token.l"
+
+ YY_BREAK
+ case 79:
+ YY_RULE_SETUP
+-#line 253 "token.l"
++#line 254 "token.l"
+ { return(EOT); }
+ YY_BREAK
+ /* for address parameters: /prefix, [port] */
+ case 80:
+ YY_RULE_SETUP
+-#line 256 "token.l"
++#line 257 "token.l"
+ { return SLASH; }
+ YY_BREAK
+ case 81:
+ YY_RULE_SETUP
+-#line 257 "token.l"
++#line 258 "token.l"
+ { return BLCL; }
+ YY_BREAK
+ case 82:
+ YY_RULE_SETUP
+-#line 258 "token.l"
++#line 259 "token.l"
+ { return ELCL; }
+ YY_BREAK
+ /* parameter */
+ case 83:
+ YY_RULE_SETUP
+-#line 261 "token.l"
++#line 262 "token.l"
+ {
+ char *bp;
+
+@@ -1796,7 +1819,7 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 84:
+ YY_RULE_SETUP
+-#line 268 "token.l"
++#line 269 "token.l"
+ {
+ yylval.val.buf = strdup(yytext + 2);
+ if (!yylval.val.buf)
+@@ -1809,7 +1832,7 @@ YY_RULE_SETUP
+ case 85:
+ /* rule 85 can match eol */
+ YY_RULE_SETUP
+-#line 277 "token.l"
++#line 278 "token.l"
+ {
+ char *p = yytext;
+ while (*++p != '"') ;
+@@ -1825,7 +1848,7 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 86:
+ YY_RULE_SETUP
+-#line 290 "token.l"
++#line 291 "token.l"
+ {
+ yylval.val.len = yyleng;
+ yylval.val.buf = strdup(yytext);
+@@ -1836,7 +1859,7 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 87:
+ YY_RULE_SETUP
+-#line 298 "token.l"
++#line 299 "token.l"
+ {
+ yylval.val.len = yyleng;
+ yylval.val.buf = strdup(yytext);
+@@ -1847,7 +1870,7 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 88:
+ YY_RULE_SETUP
+-#line 306 "token.l"
++#line 307 "token.l"
+ {
+ yyfatal("Syntax error");
+ /*NOTREACHED*/
+@@ -1855,10 +1878,10 @@ YY_RULE_SETUP
+ YY_BREAK
+ case 89:
+ YY_RULE_SETUP
+-#line 311 "token.l"
++#line 312 "token.l"
+ ECHO;
+ YY_BREAK
+-#line 1862 "token.c"
++#line 1885 "token.c"
+ case YY_STATE_EOF(INITIAL):
+ case YY_STATE_EOF(S_PL):
+ case YY_STATE_EOF(S_AUTHALG):
+@@ -2411,9 +2434,19 @@ static void yy_load_buffer_state (void)
+ yyfree((void *) b );
+ }
+
+-#ifndef __cplusplus
++#ifndef _UNISTD_H /* assume unistd.h has isatty() for us */
++#ifdef __cplusplus
++extern "C" {
++#endif
++#ifdef __THROW /* this is a gnuism */
++extern int isatty (int ) __THROW;
++#else
+ extern int isatty (int );
+-#endif /* __cplusplus */
++#endif
++#ifdef __cplusplus
++}
++#endif
++#endif
+
+ /* Initializes or reinitializes a buffer.
+ * This function is sometimes called more than once on the same buffer,
+@@ -2859,7 +2892,7 @@ void yyfree (void * ptr )
+
+ #define YYTABLES_NAME "yytables"
+
+-#line 311 "token.l"
++#line 312 "token.l"
+
+
+