Commit dc6faf23 authored by Eric S. Raymond's avatar Eric S. Raymond

getopt_long is back for Solaris and HP-UX.

svn path=/trunk/; revision=3508
parent 1575d9fb
......@@ -51,7 +51,7 @@ extras = @[email protected]
EXTRASRC = @[email protected]
# EXTRASRC = $(srcdir)/strcasecmp.c $(srcdir)/alloca.c # QNX
EXTRAOBJ = @[email protected] @[email protected]
# EXTRAOBJ = strcasecmp.o alloca.o
# EXTRAOBJ = strcasecmp.o alloca.o getopt.o getopt1.o
DESTDIR =
......@@ -261,7 +261,7 @@ headers = $(srcdir)/fetchmail.h $(srcdir)/socket.h $(srcdir)/smtp.h \
$(srcdir)/smbbyteorder.h $(srcdir)/smbdes.h $(srcdir)/smbencrypt.h \
$(srcdir)/smbmd4.h
extra = $(srcdir)/alloca.c $(srcdir)/strcasecmp.c $(srcdir)/strstr.c \
$(srcdir)/memmove.c $(srcdir)/md5c.c
$(srcdir)/memmove.c $(srcdir)/md5c.c $(srcdir)/getopt.c $(srcdir)/getopt1.c
docs = $(srcdir)/COPYING $(srcdir)/FEATURES $(srcdir)/fetchmail-features.html \
$(srcdir)/design-notes.html $(srcdir)/NOTES \
$(srcdir)/todo.html $(srcdir)/TODO \
......
......@@ -5,9 +5,10 @@
* Fix configuration error in handling of long options.
* Thomas Moestl's patch to use querynames in UID files.
* Timeout to deal with long socket closes (Sunil Shetye).
* Move from RSA MD5 code to Colin Plumb's public-domain implemenrtaion (BSD
* Move from RSA MD5 code to Colin Plumb's public-domain implementation (BSD
classic license eliminated)
* Rewrite strcasecmp() (BSD classic license eliminated)
* Rewrite strcasecmp() (BSD classic license eliminated).
* getopt_long is back for Solaris and HP-UX systems.
fetchmail-5.9.2 (Wed Sep 26 12:47:00 EDT 2001), 21118 lines:
......
......@@ -111,6 +111,10 @@ AC_CHECK_FUNC(MD5Init, AC_DEFINE(HAVE_MD5),
[EXTRASRC="$EXTRASRC \$(srcdir)/md5c.c"
EXTRAOBJ="$EXTRAOBJ md5c.o"])
AC_CHECK_FUNC(getopt_long, AC_DEFINE(HAVE_GETOPT_LONG),
[EXTRASRC="$EXTRASRC \$(srcdir)/getopt.c \$(srcdir)/getopt1.c"
EXTRAOBJ="$EXTRAOBJ getopt.o getopt1.o"])
AC_FUNC_VPRINTF
AC_FUNC_ALLOCA
if test -n "$ALLOCA"
......
/* mx.h -- name-to-preference association for MX records */
/* mx.h -- name-to-preference association for MX records.
* For license terms, see the file COPYING in this directory.
*/
struct mxentry
{
......
/* netrc.h -- declarations for netrc.c
Copyright (C) 1996, Free Software Foundation, Inc.
Gordon Matzigkeit <[email protected]>, 1996
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
* For license terms, see the file COPYING in this directory.
*/
#ifndef _NETRC_H_
#define _NETRC_H_ 1
......
......@@ -276,12 +276,8 @@ struct query *ctl; /* option record to be initialized */
ctl->smtp_socket = -1;
while (!errflag &&
#ifdef HAVE_GETOPT_LONG
(c = getopt_long(argc,argv,shortoptions,
longoptions, &option_index)) != -1)
#else
(c = getopt(argc, argv, shortoptions)) != -1)
#endif
{
switch (c) {
case 'V':
......
/*
* scratch implementation of strcasecmp(),
* in case your C library doesn't have it
*
* For license terms, see the file COPYING in this directory.
*/
#include <ctype.h>
......
/*
* strstr.c -- return the offset of one string within another.
*
* Copyright (C) 1997 Free Software Foundation, Inc.
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2, or (at your option) any later
* version.
*
* This program 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 General Public License for
* more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/* Written by Philippe De Muyter <[email protected]>. */
/*
* NAME
*
* strstr -- locate first occurence of a substring
*
* SYNOPSIS
*
* char *strstr (char *s1, char *s2)
*
* DESCRIPTION
*
* Locates the first occurence in the string pointed to by S1 of the string
* Locates the first occurrence in the string pointed to by S1 of the string
* pointed to by S2. Returns a pointer to the substring found, or a NULL
* pointer if not found. If S2 points to a string with zero length, the
* function returns S1.
*
* BUGS
*
* For license terms, see the file COPYING in this directory.
*/
char *
strstr (buf, sub)
register char *buf;
register char *sub;
char *strstr(register char *buf, register char *sub)
{
register char *bp;
register char *bp;
if (!*sub)
return buf;
for (;;)
if (!*sub)
return buf;
for (;;)
{
if (!*buf)
break;
bp = buf;
for (;;)
{
if (!*sub)
return buf;
if (*bp++ != *sub++)
if (!*buf)
break;
bp = buf;
for (;;)
{
if (!*sub)
return buf;
if (*bp++ != *sub++)
break;
}
sub -= (unsigned long) bp;
sub += (unsigned long) buf;
buf += 1;
sub -= (unsigned long) bp;
sub += (unsigned long) buf;
buf += 1;
}
return 0;
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment