Ethereal-dev: [ethereal-dev] Changes for SINIX machines
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Uwe Girlich <Uwe.Girlich@xxxxxxxxxxx>
Date: Fri, 1 Oct 1999 07:50:21 +0200
Here comes the unified diff for the changes in Makefile.am and configure.in. These are necessary to get a clean compile under SINIX machines. I would even think all SVR4 UNIX systems should profit form these changes. I had to change capture.c too because the new variable capture_child was used and declared as extern in globals.h but not defined in capture.c. ---- cut here ---- Index: Makefile.am =================================================================== RCS file: /cvsroot/ethereal/Makefile.am,v retrieving revision 1.76 diff -u -r1.76 Makefile.am --- Makefile.am 1999/09/24 04:59:45 1.76 +++ Makefile.am 1999/10/01 05:15:44 @@ -147,10 +147,14 @@ snprintf.h \ snprintf-imp.h \ strerror.c \ - strerror.h + strerror.h \ + strncasecmp.c \ + mkstemp.c -ethereal_DEPENDENCIES = @SNMP_O@ @SNPRINTF_O@ @STRERROR_O@ wiretap/libwiretap.a gtk/libui.a -ethereal_LDADD = @SNMP_O@ @SNPRINTF_O@ @STRERROR_O@ wiretap/libwiretap.a gtk/libui.a @SNMP_A@ +ethereal_DEPENDENCIES = @SNMP_O@ @SNPRINTF_O@ @STRERROR_O@ \ +@STRNCASECMP_O@ @MKSTEMP_O@ wiretap/libwiretap.a gtk/libui.a +ethereal_LDADD = @SNMP_O@ @SNPRINTF_O@ @STRERROR_O@ \ +@STRNCASECMP_O@ @MKSTEMP_O@ wiretap/libwiretap.a gtk/libui.a @SNMP_A@ ps.c: print.ps rdps ./rdps $(srcdir)/print.ps ps.c Index: capture.c =================================================================== RCS file: /cvsroot/ethereal/capture.c,v retrieving revision 1.74 diff -u -r1.74 capture.c --- capture.c 1999/09/30 06:49:53 1.74 +++ capture.c 1999/10/01 05:15:47 @@ -83,6 +83,8 @@ #include "prefs.h" #include "globals.h" +gboolean capture_child; + static void capture_stop_cb(GtkWidget *, gpointer); static void capture_pcap_cb(u_char *, const struct pcap_pkthdr *, const u_char *); Index: configure.in =================================================================== RCS file: /cvsroot/ethereal/configure.in,v retrieving revision 1.46 diff -u -r1.46 configure.in --- configure.in 1999/09/24 14:59:32 1.46 +++ configure.in 1999/10/01 05:15:48 @@ -164,6 +164,24 @@ AC_SUBST(STRERROR_C) AC_SUBST(STRERROR_O) +AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="", + STRNCASECMP_O="strncasecmp.o") +if test "$ac_cv_func_strncasecmp" = no ; then + STRNCASECMP_C="strncasecmp.c" + STRNCASECMP_O="strncasecmp.o" +fi +AC_SUBST(STRNCASECMP_C) +AC_SUBST(STRNCASECMP_O) + +AC_CHECK_FUNC(mkstemp, MKSTEMP_O="", + MKSTEMP_O="mkstemp.o") +if test "$ac_cv_func_mkstemp" = no ; then + MKSTEMP_C="mkstemp.c" + MKSTEMP_O="mkstemp.o" +fi +AC_SUBST(MKSTEMP_C) +AC_SUBST(MKSTEMP_O) + dnl blank for now, but will be used in future AC_SUBST(ethereal_SUBDIRS) ---- cut here too ---- And now the new files mkstemp.c and strncasecmp.c. I took them from a current GNU C library and removed the strange prototype macros. ---- mkstemp.c ---- /* Copyright (C) 1991, 1992, 1996, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <stdlib.h> #include <string.h> #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <unistd.h> #ifndef __set_errno #define __set_errno(x) errno=(x) #endif /* Generate a unique temporary file name from TEMPLATE. The last six characters of TEMPLATE must be "XXXXXX"; they are replaced with a string that makes the filename unique. Returns a file descriptor open on the file for reading and writing. */ int mkstemp (template) char *template; { static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; size_t len; size_t i; len = strlen (template); if (len < 6 || strcmp (&template[len - 6], "XXXXXX")) { __set_errno (EINVAL); return -1; } if (sprintf (&template[len - 5], "%.5u", (unsigned int) getpid () % 100000) != 5) /* Inconceivable lossage. */ return -1; for (i = 0; i < sizeof (letters); ++i) { int fd; template[len - 6] = letters[i]; fd = open (template, O_RDWR|O_CREAT|O_EXCL, 0600); if (fd >= 0) return fd; } /* We return the null string if we can't find a unique file name. */ template[0] = '\0'; return -1; } ---- End of mkstemp.c ---- ---- strncasecmp.c ---- /* Copyright (C) 1992, 1996 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The GNU C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the GNU C Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <ansidecl.h> #include <string.h> #include <ctype.h> /* Compare no more than N characters of S1 and S2, ignoring case, returning less than, equal to or greater than zero if S1 is lexicographically less than, equal to or greater than S2. */ int strncasecmp (const char *s1, const char *s2, size_t n) { register const unsigned char *p1 = (const unsigned char *) s1; register const unsigned char *p2 = (const unsigned char *) s2; unsigned char c1, c2; if (p1 == p2 || n == 0) return 0; do { c1 = tolower (*p1++); c2 = tolower (*p2++); if (c1 == '\0' || c1 != c2) return c1 - c2; } while (--n > 0); return c1 - c2; } ---- End of strncasecmp.c ---- -- Dr. Uwe Girlich email: Uwe.Girlich@xxxxxxxxxxx Philosys Software GmbH www: www.philosys.de Edisonstrasse 6 phone: +49 89 321407-44 D-85716 Unterschleissheim fax: +49 89 321407-12
- Follow-Ups:
- Re: [ethereal-dev] Changes for SINIX machines
- From: Guy Harris
- Re: [ethereal-dev] Changes for SINIX machines
- From: Guy Harris
- Re: [ethereal-dev] Changes for SINIX machines
- Next by Date: Re: [ethereal-dev] Ethereal on SINIX machines
- Next by thread: Re: [ethereal-dev] Changes for SINIX machines
- Index(es):