*
* DO NOT EDIT THIS FILE (fixincl.x)
*
- * It has been AutoGen-ed Tuesday January 20, 2004 at 03:43:24 PM PST
+ * It has been AutoGen-ed Wednesday January 21, 2004 at 03:05:26 PM EST
* From the definitions inclhack.def
* and the template file fixincl
*/
-/* DO NOT CVS-MERGE THIS FILE, EITHER Tue Jan 20 15:43:24 PST 2004
+/* DO NOT CVS-MERGE THIS FILE, EITHER Wed Jan 21 15:05:26 EST 2004
*
* You must regenerate it. Use the ./genfixes script.
*
* certain ANSI-incompatible system header files which are fixed to work
* correctly with ANSI C and placed in a directory that GNU C will search.
*
- * This file contains 165 fixup descriptions.
+ * This file contains 172 fixup descriptions.
*
* See README for more information.
*
#endif /* _PROTOTYPES */\n",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Hpux10_Stdio_Declarations fix
+ */
+tSCC zHpux10_Stdio_DeclarationsName[] =
+ "hpux10_stdio_declarations";
+
+/*
+ * File name selection pattern
+ */
+tSCC zHpux10_Stdio_DeclarationsList[] =
+ "|stdio.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzHpux10_Stdio_DeclarationsMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zHpux10_Stdio_DeclarationsSelect0[] =
+ "^#[ \t]*define _iob[ \t]*__iob";
+
+/*
+ * content bypass pattern - skip fix if pattern found
+ */
+tSCC zHpux10_Stdio_DeclarationsBypass0[] =
+ "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
+
+#define HPUX10_STDIO_DECLARATIONS_TEST_CT 2
+static tTestDesc aHpux10_Stdio_DeclarationsTests[] = {
+ { TT_NEGREP, zHpux10_Stdio_DeclarationsBypass0, (regex_t*)NULL },
+ { TT_EGREP, zHpux10_Stdio_DeclarationsSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Hpux10_Stdio_Declarations
+ */
+static const char* apzHpux10_Stdio_DeclarationsPatch[] = {
+ "format",
+ "%0\n\n\
+# if defined(__STDC__) || defined(__cplusplus)\n\
+ extern int snprintf(char *, size_t, const char *, ...);\n\
+ extern int vsnprintf(char *, size_t, const char *, __va_list);\n\
+# else /* not __STDC__) || __cplusplus */\n\
+ extern int snprintf();\n\
+ extern int vsnprintf();\n\
+# endif /* __STDC__) || __cplusplus */\n",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Hpux11_Abs fix
"([ \t*](fopen|sscanf|popen|tempnam))\\([ \t]*char[ \t]*\\*([^,]*),[ \t]*char[ \t]*\\*[ \t]*",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Ultrix_Const3 fix
+ */
+tSCC zUltrix_Const3Name[] =
+ "ultrix_const3";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_Const3List[] =
+ "|stdio.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_Const3Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Const3Select0[] =
+ "fdopen\\( .*, char \\*";
+
+#define ULTRIX_CONST3_TEST_CT 1
+static tTestDesc aUltrix_Const3Tests[] = {
+ { TT_EGREP, zUltrix_Const3Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Const3
+ */
+static const char* apzUltrix_Const3Patch[] = {
+ "format",
+ "%1 const %3 *__",
+ "([ \t*](fdopen)\\(.*)[ \t]+(char|void) \\*__",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Ultrix_Fix_Fixproto fix
"#if defined(KERNEL) &&",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Ultrix_Locale fix
+ */
+tSCC zUltrix_LocaleName[] =
+ "ultrix_locale";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_LocaleList[] =
+ "|locale.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_LocaleMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_LocaleSelect0[] =
+ "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define ULTRIX_LOCALE_TEST_CT 1
+static tTestDesc aUltrix_LocaleTests[] = {
+ { TT_EGREP, zUltrix_LocaleSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Locale
+ */
+static const char* apzUltrix_LocalePatch[] = {
+ "wrap",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Ultrix_Math_Ifdef fix
"-e", "s/^#include \"r4_cpu\\.h\"$/#include <machine\\/r4_cpu\\.h>/",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Ultrix_Stdlib fix
+ */
+tSCC zUltrix_StdlibName[] =
+ "ultrix_stdlib";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_StdlibList[] =
+ "|stdlib.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_StdlibMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_StdlibSelect0[] =
+ "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define ULTRIX_STDLIB_TEST_CT 1
+static tTestDesc aUltrix_StdlibTests[] = {
+ { TT_EGREP, zUltrix_StdlibSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Stdlib
+ */
+static const char* apzUltrix_StdlibPatch[] = { "sed",
+ "-e", "/^char.*getenv( const char .* );.*$/a\\\n\
+int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n\
+void\t\tunsetenv( const char *__name );\\\n\
+int\t\tputenv( char *__s );\n",
+ "-e", "/^char.*getenv();.*$/a\\\n\
+int\tsetenv();\\\n\
+void\tunsetenv();\\\n\
+int\tputenv();\n",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Ultrix_Strings fix
"wrap",
(char*)NULL };
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Ultrix_Strings2 fix
+ */
+tSCC zUltrix_Strings2Name[] =
+ "ultrix_strings2";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_Strings2List[] =
+ "|strings.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_Strings2Machs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Strings2Select0[] =
+ "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define ULTRIX_STRINGS2_TEST_CT 1
+static tTestDesc aUltrix_Strings2Tests[] = {
+ { TT_EGREP, zUltrix_Strings2Select0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Strings2
+ */
+static const char* apzUltrix_Strings2Patch[] = { "sed",
+ "-e", "/^.*strncmp( const .* );.*/a\\\n\
+\\\n\
+extern int\\\n\
+\tstrcasecmp( const char *__s1, const char *__s2),\\\n\
+\tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n",
+ "-e", "/^.*strncmp();.*/a\\\n\
+extern int\\\n\
+\tstrcasecmp(),\\\n\
+\tstrncasecmp();\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Ultrix_Sys_Time fix
+ */
+tSCC zUltrix_Sys_TimeName[] =
+ "ultrix_sys_time";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_Sys_TimeList[] =
+ "|sys/time.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_Sys_TimeMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_Sys_TimeSelect0[] =
+ "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define ULTRIX_SYS_TIME_TEST_CT 1
+static tTestDesc aUltrix_Sys_TimeTests[] = {
+ { TT_EGREP, zUltrix_Sys_TimeSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Sys_Time
+ */
+static const char* apzUltrix_Sys_TimePatch[] = { "sed",
+ "-e", "/^extern.*time_t.*time( time_t .* );.*$/a\\\n\
+\\\n\
+extern int adjtime(struct timeval *, struct timeval *);\\\n\
+extern int getitimer(int, struct itimerval *);\\\n\
+extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n\
+extern int gettimeofday(struct timeval *, struct timezone *);\\\n\
+extern int settimeofday(struct timeval *, struct timezone *);\\\n\
+extern void profil(const void *, size_t, size_t, unsigned int);\\\n\
+extern int stime(const time_t *);\\\n\
+extern int utimes(const char *, const struct timeval[2]);\\\n\
+extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n",
+ "-e", "/^extern.*double.*difftime();.*$/a\\\n\
+extern\tint adjtime();\\\n\
+extern\tint getitimer();\\\n\
+extern\tint setitimer();\\\n\
+extern\tint gettimeofday();\\\n\
+extern\tint settimeofday();\\\n\
+extern\tvoid profil();\\\n\
+extern\tint stime();\\\n\
+extern\tint utimes();\\\n\
+extern\tint select();\n",
+ (char*)NULL };
+
+/* * * * * * * * * * * * * * * * * * * * * * * * * *
+ *
+ * Description of Ultrix_Unistd fix
+ */
+tSCC zUltrix_UnistdName[] =
+ "ultrix_unistd";
+
+/*
+ * File name selection pattern
+ */
+tSCC zUltrix_UnistdList[] =
+ "|unistd.h|";
+/*
+ * Machine/OS name selection pattern
+ */
+#define apzUltrix_UnistdMachs (const char**)NULL
+
+/*
+ * content selection pattern - do fix if pattern found
+ */
+tSCC zUltrix_UnistdSelect0[] =
+ "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+#define ULTRIX_UNISTD_TEST_CT 1
+static tTestDesc aUltrix_UnistdTests[] = {
+ { TT_EGREP, zUltrix_UnistdSelect0, (regex_t*)NULL }, };
+
+/*
+ * Fix Command Arguments for Ultrix_Unistd
+ */
+static const char* apzUltrix_UnistdPatch[] = { "sed",
+ "-e", "/^[ \t]*getgroups(),.*$/a\\\n\
+\tgetpagesize(),\n",
+ "-e", "/^[ \t]*fork(),.*$/a\\\n\
+\tvfork(),\n",
+ (char*)NULL };
+
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
* Description of Undefine_Null fix
*
* List of all fixes
*/
-#define REGEX_COUNT 185
+#define REGEX_COUNT 193
#define MACH_LIST_SIZE_LIMIT 261
-#define FIX_COUNT 165
+#define FIX_COUNT 172
/*
* Enumerate the fixes
HPUX11_CPP_POW_INLINE_FIXIDX,
HPUX10_CTYPE_DECLARATIONS1_FIXIDX,
HPUX10_CTYPE_DECLARATIONS2_FIXIDX,
+ HPUX10_STDIO_DECLARATIONS_FIXIDX,
HPUX11_ABS_FIXIDX,
HPUX11_FABSF_FIXIDX,
HPUX11_SIZE_T_FIXIDX,
ULTRIX_ATOF_PARAM_FIXIDX,
ULTRIX_CONST_FIXIDX,
ULTRIX_CONST2_FIXIDX,
+ ULTRIX_CONST3_FIXIDX,
ULTRIX_FIX_FIXPROTO_FIXIDX,
ULTRIX_IFDEF_FIXIDX,
+ ULTRIX_LOCALE_FIXIDX,
ULTRIX_MATH_IFDEF_FIXIDX,
ULTRIX_NESTED_IOCTL_FIXIDX,
ULTRIX_NESTED_SVC_FIXIDX,
ULTRIX_STAT_FIXIDX,
ULTRIX_STATIC_FIXIDX,
+ ULTRIX_STDLIB_FIXIDX,
ULTRIX_STRINGS_FIXIDX,
+ ULTRIX_STRINGS2_FIXIDX,
+ ULTRIX_SYS_TIME_FIXIDX,
+ ULTRIX_UNISTD_FIXIDX,
UNDEFINE_NULL_FIXIDX,
UNICOSMK_RESTRICT_FIXIDX,
UW7_BYTEORDER_FIX_FIXIDX,
HPUX10_CTYPE_DECLARATIONS2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aHpux10_Ctype_Declarations2Tests, apzHpux10_Ctype_Declarations2Patch, 0 },
+ { zHpux10_Stdio_DeclarationsName, zHpux10_Stdio_DeclarationsList,
+ apzHpux10_Stdio_DeclarationsMachs,
+ HPUX10_STDIO_DECLARATIONS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aHpux10_Stdio_DeclarationsTests, apzHpux10_Stdio_DeclarationsPatch, 0 },
+
{ zHpux11_AbsName, zHpux11_AbsList,
apzHpux11_AbsMachs,
HPUX11_ABS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
ULTRIX_CONST2_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aUltrix_Const2Tests, apzUltrix_Const2Patch, 0 },
+ { zUltrix_Const3Name, zUltrix_Const3List,
+ apzUltrix_Const3Machs,
+ ULTRIX_CONST3_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aUltrix_Const3Tests, apzUltrix_Const3Patch, 0 },
+
{ zUltrix_Fix_FixprotoName, zUltrix_Fix_FixprotoList,
apzUltrix_Fix_FixprotoMachs,
ULTRIX_FIX_FIXPROTO_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
ULTRIX_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aUltrix_IfdefTests, apzUltrix_IfdefPatch, 0 },
+ { zUltrix_LocaleName, zUltrix_LocaleList,
+ apzUltrix_LocaleMachs,
+ ULTRIX_LOCALE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
+ aUltrix_LocaleTests, apzUltrix_LocalePatch, 0 },
+
{ zUltrix_Math_IfdefName, zUltrix_Math_IfdefList,
apzUltrix_Math_IfdefMachs,
ULTRIX_MATH_IFDEF_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
ULTRIX_STATIC_TEST_CT, FD_MACH_ONLY,
aUltrix_StaticTests, apzUltrix_StaticPatch, 0 },
+ { zUltrix_StdlibName, zUltrix_StdlibList,
+ apzUltrix_StdlibMachs,
+ ULTRIX_STDLIB_TEST_CT, FD_MACH_ONLY,
+ aUltrix_StdlibTests, apzUltrix_StdlibPatch, 0 },
+
{ zUltrix_StringsName, zUltrix_StringsList,
apzUltrix_StringsMachs,
ULTRIX_STRINGS_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
aUltrix_StringsTests, apzUltrix_StringsPatch, 0 },
+ { zUltrix_Strings2Name, zUltrix_Strings2List,
+ apzUltrix_Strings2Machs,
+ ULTRIX_STRINGS2_TEST_CT, FD_MACH_ONLY,
+ aUltrix_Strings2Tests, apzUltrix_Strings2Patch, 0 },
+
+ { zUltrix_Sys_TimeName, zUltrix_Sys_TimeList,
+ apzUltrix_Sys_TimeMachs,
+ ULTRIX_SYS_TIME_TEST_CT, FD_MACH_ONLY,
+ aUltrix_Sys_TimeTests, apzUltrix_Sys_TimePatch, 0 },
+
+ { zUltrix_UnistdName, zUltrix_UnistdList,
+ apzUltrix_UnistdMachs,
+ ULTRIX_UNISTD_TEST_CT, FD_MACH_ONLY,
+ aUltrix_UnistdTests, apzUltrix_UnistdPatch, 0 },
+
{ zUndefine_NullName, zUndefine_NullList,
apzUndefine_NullMachs,
UNDEFINE_NULL_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE,
};
+/*
+ * Fix hpux 10.X missing stdio declarations
+ */
+fix = {
+ hackname = hpux10_stdio_declarations;
+ files = stdio.h;
+ select = "^#[ \t]*define _iob[ \t]*__iob";
+ bypass = "^[ \t]*extern[ \t]*int[ \t]*vsnprintf[ \t]*\\(";
+ c_fix = format;
+ c_fix_arg = "%0\n\n"
+ "# if defined(__STDC__) || defined(__cplusplus)\n"
+ " extern int snprintf(char *, size_t, const char *, ...);\n"
+ " extern int vsnprintf(char *, size_t, const char *, __va_list);\n"
+ "# else /* not __STDC__) || __cplusplus */\n"
+ " extern int snprintf();\n"
+ " extern int vsnprintf();\n"
+ "# endif /* __STDC__) || __cplusplus */\n";
+
+ test_text = "# define _iob __iob\n";
+};
+
+
/*
* Make sure hpux defines abs in header.
*/
};
+/*
+ * parameters not const on Ultrix V4.3.
+ */
+fix = {
+ hackname = ultrix_const3;
+ files = stdio.h;
+ select = 'fdopen\( .*, char \*';
+
+ c_fix = format;
+ c_fix_arg = "%1 const %3 *__";
+ c_fix_arg = "([ \t*](fdopen)\\(.*)"
+ "[ \t]+(char|void) \\*__";
+
+ test_text =
+ "extern FILE * fdopen( int __filedes, char *__type );\n";
+};
+
+
/*
* Ultrix V4.[35] puts the declaration of uname before the definition
* of struct utsname, so the prototype (added by fixproto) causes havoc.
};
+/*
+ * Add once-only latch to Ultrix V4.3 locale.h.
+ */
+fix = {
+ hackname = ultrix_locale;
+ files = locale.h;
+ select = "@\\(#\\)locale\\.h.*6\\.1.*\\(ULTRIX\\)";
+ c_fix = wrap;
+ test_text =
+ "@(#)locale.h 6.1 (ULTRIX)\n";
+};
+
+
/*
* Strip "|| CC$gfloat" from Ultrix math headers.
*/
};
+/*
+ * Add missing declarations to Ultrix V4.3 stdlib.h.
+ */
+fix = {
+ hackname = ultrix_stdlib;
+ files = stdlib.h;
+ select = "@\\(#\\)stdlib\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+ sed = "/^char.*getenv( const char .* );.*$/a\\\n"
+ "int\t\tsetenv( const char *__name, const char *__val, int __ovrwrt );\\\n"
+ "void\t\tunsetenv( const char *__name );\\\n"
+ "int\t\tputenv( char *__s );\n";
+
+ sed = "/^char.*getenv();.*$/a\\\n"
+ "int\tsetenv();\\\n"
+ "void\tunsetenv();\\\n"
+ "int\tputenv();\n";
+
+ test_text =
+ "@(#)stdlib.h 6.1 (ULTRIX)\n"
+ "char * getenv( const char *__name );\n"
+ "char *getenv();\n";
+};
+
+
/*
* Add once-only latch to Ultrix V4.3 strings.h.
*/
};
+/*
+ * Add missing declarations to Ultrix V4.3 strings.h.
+ */
+fix = {
+ hackname = ultrix_strings2;
+ files = strings.h;
+ select = "@\\(#\\)strings\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+ sed = "/^.*strncmp( const .* );.*/a\\\n"
+ "\\\n"
+ "extern int\\\n"
+ "\tstrcasecmp( const char *__s1, const char *__s2),\\\n"
+ "\tstrncasecmp( const char *__s1, const char *__s2, size_t __n );\n";
+
+ sed = "/^.*strncmp();.*/a\\\n"
+ "extern int\\\n"
+ "\tstrcasecmp(),\\\n"
+ "\tstrncasecmp();\n";
+
+ test_text =
+ "@(#)strings.h 6.1 (ULTRIX)\n"
+ "\tstrncmp( const char *__s1, const char *__s2, size_t __n );\n"
+ "\tstrncmp();\n";
+};
+
+
+/*
+ * Add missing declarations to Ultrix V4.3 sys/time.h.
+ */
+fix = {
+ hackname = ultrix_sys_time;
+ files = sys/time.h;
+ select = "@\\(#\\)time\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+ sed = "/^extern.*time_t.*time( time_t .* );.*$/a\\\n"
+ "\\\n"
+ "extern int adjtime(struct timeval *, struct timeval *);\\\n"
+ "extern int getitimer(int, struct itimerval *);\\\n"
+ "extern int setitimer(int, struct itimerval *, struct itimerval *);\\\n"
+ "extern int gettimeofday(struct timeval *, struct timezone *);\\\n"
+ "extern int settimeofday(struct timeval *, struct timezone *);\\\n"
+ "extern void profil(const void *, size_t, size_t, unsigned int);\\\n"
+ "extern int stime(const time_t *);\\\n"
+ "extern int utimes(const char *, const struct timeval[2]);\\\n"
+ "extern int select(int, fd_set *, fd_set *, fd_set *, struct timeval *);\n";
+
+ sed = "/^extern.*double.*difftime();.*$/a\\\n"
+ "extern\tint adjtime();\\\n"
+ "extern\tint getitimer();\\\n"
+ "extern\tint setitimer();\\\n"
+ "extern\tint gettimeofday();\\\n"
+ "extern\tint settimeofday();\\\n"
+ "extern\tvoid profil();\\\n"
+ "extern\tint stime();\\\n"
+ "extern\tint utimes();\\\n"
+ "extern\tint select();\n";
+
+ test_text =
+ "@(#)time.h 6.1 (ULTRIX)\n"
+ "extern time_t time( time_t *__tloc );\n"
+ "extern double difftime();\n";
+};
+
+
+/*
+ * Add missing declarations to Ultrix V4.3 unistd.h.
+ */
+fix = {
+ hackname = ultrix_unistd;
+ files = unistd.h;
+ select = "@\\(#\\)unistd\\.h.*6\\.1.*\\(ULTRIX\\)";
+
+ sed = "/^[ \t]*getgroups(),.*$/a\\\n"
+ "\tgetpagesize(),\n";
+
+ sed = "/^[ \t]*fork(),.*$/a\\\n"
+ "\tvfork(),\n";
+
+ test_text =
+ "@(#)unistd.h 6.1 (ULTRIX)\n"
+ "\tgetgroups(),\n"
+ "\tfork(),\n";
+};
+
+
/*
* Fix multiple defines for NULL. Sometimes, we stumble into \r\n
* terminated lines, so accommodate these. Test both ways.