|
|
|
|
Index: flex.skl
|
|
|
|
|
--- flex.skl.orig 2003-04-01 03:51:38.000000000 +0200
|
|
|
|
|
+++ flex.skl 2004-02-07 13:21:59.000000000 +0100
|
|
|
|
|
@@ -345,19 +345,19 @@
|
|
|
|
|
%# yyscan_t yyscanner;
|
|
|
|
|
%#
|
|
|
|
|
%# Generate traditional function defs
|
|
|
|
|
- m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG)
|
|
|
|
|
+ m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG) [[\]]
|
|
|
|
|
M4_YY_DECL_LAST_ARG]])
|
|
|
|
|
- m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG)
|
|
|
|
|
- $1 $2;
|
|
|
|
|
+ m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG) [[\]]
|
|
|
|
|
+ $1 $2; [[\]]
|
|
|
|
|
M4_YY_DECL_LAST_ARG]])
|
|
|
|
|
- m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG)
|
|
|
|
|
- $1 $2;
|
|
|
|
|
- $3 $4;
|
|
|
|
|
+ m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG) [[\]]
|
|
|
|
|
+ $1 $2; [[\]]
|
|
|
|
|
+ $3 $4; [[\]]
|
|
|
|
|
M4_YY_DECL_LAST_ARG]])
|
|
|
|
|
- m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG)
|
|
|
|
|
- $1 $2;
|
|
|
|
|
- $3 $4;
|
|
|
|
|
- $5 $6;
|
|
|
|
|
+ m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG) [[\]]
|
|
|
|
|
+ $1 $2; [[\]]
|
|
|
|
|
+ $3 $4; [[\]]
|
|
|
|
|
+ $5 $6; [[\]]
|
|
|
|
|
M4_YY_DECL_LAST_ARG]])
|
|
|
|
|
]],
|
|
|
|
|
[[
|
|
|
|
|
@@ -724,6 +724,7 @@
|
|
|
|
|
|
|
|
|
|
m4_ifdef( [[M4_YY_NO_UNISTD_H]],,
|
|
|
|
|
[[
|
|
|
|
|
+#ifndef YY_NO_UNISTD_H
|
|
|
|
|
/* Special case for "unistd.h", since it is non-ANSI. We include it way
|
|
|
|
|
* down here because we want the user's section 1 to have been scanned first.
|
|
|
|
|
* The user has a chance to override it with an option.
|
|
|
|
|
@@ -734,6 +735,7 @@
|
|
|
|
|
%if-c++-only
|
|
|
|
|
#include <unistd.h>
|
|
|
|
|
%endif
|
|
|
|
|
+#endif
|
|
|
|
|
]])
|
|
|
|
|
|
|
|
|
|
#ifndef YY_EXTRA_TYPE
|
|
|
|
|
@@ -1124,9 +1126,9 @@
|
|
|
|
|
m4_dnl The bison pure parser is used. Redefine yylex to
|
|
|
|
|
m4_dnl accept the lval parameter.
|
|
|
|
|
|
|
|
|
|
- m4_define( [[M4_YY_LEX_PROTO]],
|
|
|
|
|
+ m4_define( [[M4_YY_LEX_PROTO]], [[\]]
|
|
|
|
|
[[M4_YY_PARAMS(YYSTYPE * yylval_param M4_YY_PROTO_LAST_ARG)]])
|
|
|
|
|
- m4_define( [[M4_YY_LEX_DECLARATION]],
|
|
|
|
|
+ m4_define( [[M4_YY_LEX_DECLARATION]], [[\]]
|
|
|
|
|
[[YYFARGS1(YYSTYPE *,yylval_param)]])
|
|
|
|
|
]])
|
|
|
|
|
|
|
|
|
|
@@ -1134,9 +1136,9 @@
|
|
|
|
|
[[
|
|
|
|
|
m4_dnl Locations are used. yylex should also accept the ylloc parameter.
|
|
|
|
|
|
|
|
|
|
- m4_define( [[M4_YY_LEX_PROTO]],
|
|
|
|
|
+ m4_define( [[M4_YY_LEX_PROTO]], [[\]]
|
|
|
|
|
[[M4_YY_PARAMS(YYSTYPE * yylval_param, YYLTYPE * yylloc_param M4_YY_PROTO_LAST_ARG)]])
|
|
|
|
|
- m4_define( [[M4_YY_LEX_DECLARATION]],
|
|
|
|
|
+ m4_define( [[M4_YY_LEX_DECLARATION]], [[\]]
|
|
|
|
|
[[YYFARGS2(YYSTYPE *,yylval_param, YYLTYPE *,yylloc_param)]])
|
|
|
|
|
]])
|
|
|
|
|
|
|
|
|
|
Index: gen.c
|
|
|
|
|
--- gen.c.orig 2003-03-30 21:58:44.000000000 +0200
|
|
|
|
|
+++ gen.c 2004-02-07 13:21:59.000000000 +0100
|
|
|
|
|
@@ -1812,7 +1812,6 @@
|
|
|
|
|
if (yytext_is_array) {
|
|
|
|
|
if (!reentrant){
|
|
|
|
|
indent_puts ("static int yy_more_offset = 0;");
|
|
|
|
|
- }else{
|
|
|
|
|
indent_puts ("static int yy_prev_more_offset = 0;");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
Index: main.c
|
|
|
|
|
--- main.c.orig 2003-04-01 03:51:38.000000000 +0200
|
|
|
|
|
+++ main.c 2004-02-07 13:21:59.000000000 +0100
|
|
|
|
|
@@ -1142,7 +1142,6 @@
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case OPT_NO_UNISTD_H:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_UNISTD_H", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_UNISTD_H",0);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
@@ -1257,7 +1256,6 @@
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case OPT_STACK:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_STACK_USED", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_STACK_USED",0);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
@@ -1314,87 +1312,66 @@
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
case OPT_NO_YY_PUSH_STATE:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_PUSH_STATE", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_PUSH_STATE",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YY_POP_STATE:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_POP_STATE", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_POP_STATE",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YY_TOP_STATE:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_TOP_STATE", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_TOP_STATE",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_UNPUT:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_UNPUT", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_UNPUT",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YY_SCAN_BUFFER:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SCAN_BUFFER", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SCAN_BUFFER",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YY_SCAN_BYTES:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SCAN_BYTES", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SCAN_BYTES",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YY_SCAN_STRING:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SCAN_STRING", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SCAN_STRING",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_EXTRA:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_EXTRA", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_EXTRA",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYSET_EXTRA:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SET_EXTRA", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_EXTRA",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_LENG:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_LENG", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LENG",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_TEXT:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_TEXT", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_TEXT",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_LINENO:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_LINENO", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LINENO",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYSET_LINENO:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SET_LINENO", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LINENO",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_IN:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_IN", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_IN",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYSET_IN:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SET_IN", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_IN",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_OUT:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_OUT", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_OUT",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYSET_OUT:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SET_OUT", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_OUT",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_LVAL:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_LVAL", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LVAL",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYSET_LVAL:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SET_LVAL", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LVAL",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYGET_LLOC:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_GET_LLOC", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_GET_LLOC",0);
|
|
|
|
|
break;
|
|
|
|
|
case OPT_NO_YYSET_LLOC:
|
|
|
|
|
- //buf_strdefine (&userdef_buf, "YY_NO_SET_LLOC", "1");
|
|
|
|
|
buf_m4_define( &m4defs_buf, "M4_YY_NO_SET_LLOC",0);
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
@@ -1547,7 +1524,6 @@
|
|
|
|
|
|
|
|
|
|
if (reject){
|
|
|
|
|
out_m4_define( "M4_YY_USES_REJECT", NULL);
|
|
|
|
|
- //outn ("\n#define YY_USES_REJECT");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!do_yywrap) {
|
|
|
|
|
@@ -1595,7 +1571,6 @@
|
|
|
|
|
outn ("#else");
|
|
|
|
|
outn (yy_stdinit);
|
|
|
|
|
outn ("#endif");
|
|
|
|
|
- outn ("#endif");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
|
Index: scan.l
|
|
|
|
|
--- scan.l.orig 2003-04-01 03:51:38.000000000 +0200
|
|
|
|
|
+++ scan.l 2004-02-07 13:21:59.000000000 +0100
|
|
|
|
|
@@ -350,7 +350,7 @@
|
|
|
|
|
stack ACTION_M4_IFDEF( "M4""_YY_STACK_USED", option_sense );
|
|
|
|
|
stdinit do_stdinit = option_sense;
|
|
|
|
|
stdout use_stdout = option_sense;
|
|
|
|
|
- unistd ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
|
|
|
|
|
+ unistd ACTION_M4_IFDEF("M4""_YY_NO_UNISTD_H", ! option_sense);
|
|
|
|
|
unput ACTION_M4_IFDEF("M4""_YY_NO_UNPUT", ! option_sense);
|
|
|
|
|
verbose printstats = option_sense;
|
|
|
|
|
warn nowarn = ! option_sense;
|
|
|
|
|
Index: skel.c
|
|
|
|
|
--- skel.c.orig 2003-04-01 18:33:08.000000000 +0200
|
|
|
|
|
+++ skel.c 2004-02-07 13:23:16.000000000 +0100
|
|
|
|
|
@@ -404,16 +404,16 @@
|
|
|
|
|
"%# yyscan_t yyscanner;",
|
|
|
|
|
"%#",
|
|
|
|
|
"%# Generate traditional function defs",
|
|
|
|
|
- " m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG)",
|
|
|
|
|
+ " m4_define( [[YYFARGS0]], [[(M4_YY_DEF_ONLY_ARG) [[\\]]",
|
|
|
|
|
" M4_YY_DECL_LAST_ARG]])",
|
|
|
|
|
- " m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG)",
|
|
|
|
|
+ " m4_define( [[YYFARGS1]], [[($2 M4_YY_DEF_LAST_ARG) [[\\]]",
|
|
|
|
|
" $1 $2;",
|
|
|
|
|
" M4_YY_DECL_LAST_ARG]])",
|
|
|
|
|
- " m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG)",
|
|
|
|
|
+ " m4_define( [[YYFARGS2]], [[($2,$4 M4_YY_DEF_LAST_ARG) [[\\]]",
|
|
|
|
|
" $1 $2;",
|
|
|
|
|
" $3 $4;",
|
|
|
|
|
" M4_YY_DECL_LAST_ARG]])",
|
|
|
|
|
- " m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG)",
|
|
|
|
|
+ " m4_define( [[YYFARGS3]], [[($2,$4,$6 M4_YY_DEF_LAST_ARG) [[\\]]",
|
|
|
|
|
" $1 $2;",
|
|
|
|
|
" $3 $4;",
|
|
|
|
|
" $5 $6;",
|
|
|
|
|
@@ -787,12 +787,14 @@
|
|
|
|
|
" * down here because we want the user's section 1 to have been scanned first.",
|
|
|
|
|
" * The user has a chance to override it with an option.",
|
|
|
|
|
" */",
|
|
|
|
|
+ "#ifndef YY_NO_UNISTD_H",
|
|
|
|
|
"%if-c-only",
|
|
|
|
|
"#include <unistd.h>",
|
|
|
|
|
"%endif",
|
|
|
|
|
"%if-c++-only",
|
|
|
|
|
"#include <unistd.h>",
|
|
|
|
|
"%endif",
|
|
|
|
|
+ "#endif",
|
|
|
|
|
"]])",
|
|
|
|
|
"",
|
|
|
|
|
"#ifndef YY_EXTRA_TYPE",
|
|
|
|
|
Index: tables.c
|
|
|
|
|
--- tables.c.orig 2002-11-27 15:43:24.000000000 +0100
|
|
|
|
|
+++ tables.c 2004-02-07 13:21:59.000000000 +0100
|
|
|
|
|
@@ -86,7 +86,7 @@
|
|
|
|
|
th->th_magic = YYTBL_MAGIC;
|
|
|
|
|
th->th_hsize = 14 + strlen (version_str) + 1 + strlen (name) + 1;
|
|
|
|
|
th->th_hsize += yypad64 (th->th_hsize);
|
|
|
|
|
- th->th_ssize = 0; // Not known at this point.
|
|
|
|
|
+ th->th_ssize = 0;
|
|
|
|
|
th->th_flags = 0;
|
|
|
|
|
th->th_version = copy_string (version_str);
|
|
|
|
|
th->th_name = copy_string (name);
|
|
|
|
|
Index: scan.c
|
|
|
|
|
--- scan.c.orig 2003-04-01 18:33:17.000000000 +0200
|
|
|
|
|
+++ scan.c 2004-02-08 19:25:53.000000000 +0100
|
|
|
|
|
@@ -1,5 +1,6 @@
|
|
|
|
|
+#line 2 "scan.c"
|
|
|
|
|
|
|
|
|
|
-#line 3 "scan.c"
|
|
|
|
|
+#line 4 "scan.c"
|
|
|
|
|
|
|
|
|
|
#define YY_INT_ALIGNED short int
|
|
|
|
|
|
|
|
|
|
@@ -1596,7 +1597,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-#line 1600 "scan.c"
|
|
|
|
|
+#line 1601 "scan.c"
|
|
|
|
|
|
|
|
|
|
#define INITIAL 0
|
|
|
|
|
#define SECT2 1
|
|
|
|
|
@@ -1623,7 +1624,9 @@
|
|
|
|
|
* down here because we want the user's section 1 to have been scanned first.
|
|
|
|
|
* The user has a chance to override it with an option.
|
|
|
|
|
*/
|
|
|
|
|
+#ifndef YY_NO_UNISTD_H
|
|
|
|
|
#include <unistd.h>
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
#ifndef YY_EXTRA_TYPE
|
|
|
|
|
#define YY_EXTRA_TYPE void *
|
|
|
|
|
@@ -1786,7 +1789,7 @@
|
|
|
|
|
Char nmdef[MAXLINE];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-#line 1790 "scan.c"
|
|
|
|
|
+#line 1793 "scan.c"
|
|
|
|
|
|
|
|
|
|
if ( (yy_init) )
|
|
|
|
|
{
|
|
|
|
|
@@ -2388,7 +2391,7 @@
|
|
|
|
|
case 77:
|
|
|
|
|
YY_RULE_SETUP
|
|
|
|
|
#line 353 "scan.l"
|
|
|
|
|
-ACTION_IFDEF("YY_NO_UNISTD_H", ! option_sense);
|
|
|
|
|
+ACTION_M4_IFDEF("M4""_YY_NO_UNISTD_H", ! option_sense);
|
|
|
|
|
YY_BREAK
|
|
|
|
|
case 78:
|
|
|
|
|
YY_RULE_SETUP
|
|
|
|
|
@@ -3339,7 +3342,7 @@
|
|
|
|
|
#line 821 "scan.l"
|
|
|
|
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
|
|
|
|
YY_BREAK
|
|
|
|
|
-#line 3343 "scan.c"
|
|
|
|
|
+#line 3346 "scan.c"
|
|
|
|
|
case YY_STATE_EOF(INITIAL):
|
|
|
|
|
case YY_STATE_EOF(SECT2):
|
|
|
|
|
case YY_STATE_EOF(CODEBLOCK):
|
|
|
|
|
Index: filter.c
|
|
|
|
|
--- filter.c.orig 2003-03-25 17:39:08.000000000 +0100
|
|
|
|
|
+++ filter.c 2004-03-31 16:55:21.000000000 +0200
|
|
|
|
|
@@ -158,10 +158,21 @@
|
|
|
|
|
int r;
|
|
|
|
|
|
|
|
|
|
/* setup streams again */
|
|
|
|
|
+#if 0
|
|
|
|
|
if ((stdin = fdopen (0, "r")) == NULL)
|
|
|
|
|
flexfatal (_("fdopen(0) failed"));
|
|
|
|
|
if ((stdout = fdopen (1, "w")) == NULL)
|
|
|
|
|
flexfatal (_("fdopen(1) failed"));
|
|
|
|
|
+#else
|
|
|
|
|
+ /* the above is theoretically correct, but on some
|
|
|
|
|
+ platforms (FreeBSD, Solaris, etc) not possible because
|
|
|
|
|
+ stdin/stdout/stderr are read-only. Unfortunately there is no
|
|
|
|
|
+ standardized alternative except the cheating solution: in most
|
|
|
|
|
+ Unix stdio(3) implementations a FILE is nothing more than a C
|
|
|
|
|
+ structure referencing a Unix filedescriptor. Hence one can just
|
|
|
|
|
+ do nothing as long as the underlying filedescriptor was already
|
|
|
|
|
+ changed. */
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
if ((r = chain->filter_func (chain)) == -1)
|
|
|
|
|
flexfatal (_("filter_func failed"));
|
|
|
|
|
@@ -181,8 +192,12 @@
|
|
|
|
|
if (dup2 (pipes[1], 1) == -1)
|
|
|
|
|
flexfatal (_("dup2(pipes[1],1)"));
|
|
|
|
|
close (pipes[1]);
|
|
|
|
|
+#if 0
|
|
|
|
|
if ((stdout = fdopen (1, "w")) == NULL)
|
|
|
|
|
flexfatal (_("fdopen(1) failed"));
|
|
|
|
|
+#else
|
|
|
|
|
+ /* do just nothing (reason: see above) */
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|