You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

328 lines
8.7 KiB

Index: ftp/ftp_var.h
--- ftp/ftp_var.h.orig 2000-07-08 03:00:53.000000000 +0200
+++ ftp/ftp_var.h 2006-10-06 08:11:07.845316590 +0200
@@ -36,6 +36,24 @@
#include <sys/param.h>
#include <setjmp.h>
+/*
+ * Format of command table.
+ */
+struct cmd {
+ char *c_name; /* name of command */
+ char *c_help; /* help string */
+ char c_bell; /* give bell when command completes */
+ char c_conn; /* must be connected to use command */
+ char c_proxy; /* proxy server may execute */
+ void (*c_handler) __P((int, char **)); /* function to call */
+};
+
+struct macel {
+ char mac_name[9]; /* macro name */
+ char *mac_start; /* start of macro in macbuf */
+ char *mac_end; /* end of macro in macbuf */
+};
+
#include "extern.h"
#ifndef FTP_EXTERN
@@ -108,23 +126,6 @@
FTP_EXTERN int options; /* used during socket creation */
-/*
- * Format of command table.
- */
-struct cmd {
- char *c_name; /* name of command */
- char *c_help; /* help string */
- char c_bell; /* give bell when command completes */
- char c_conn; /* must be connected to use command */
- char c_proxy; /* proxy server may execute */
- void (*c_handler) __P((int, char **)); /* function to call */
-};
-
-struct macel {
- char mac_name[9]; /* macro name */
- char *mac_start; /* start of macro in macbuf */
- char *mac_end; /* end of macro in macbuf */
-};
FTP_EXTERN int macnum; /* number of defined macros */
FTP_EXTERN struct macel macros[16];
Index: libinetutils/revoke.c
--- libinetutils/revoke.c.orig 2002-06-26 05:15:06.000000000 +0200
+++ libinetutils/revoke.c 2006-10-06 08:11:07.855316674 +0200
@@ -10,6 +10,14 @@
extern int errno;
#endif
+#ifdef __linux__
+#include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
+#define NO_REVOKE 1
+#endif
+#endif
+
+#ifndef NO_REVOKE
int
revoke (char *path)
{
@@ -21,3 +29,4 @@
#endif
return -1;
}
+#endif
Index: libinetutils/setenv.c
--- libinetutils/setenv.c.orig 2002-12-11 13:40:24.000000000 +0100
+++ libinetutils/setenv.c 2006-10-06 08:12:44.556778332 +0200
@@ -1,129 +1,49 @@
-/* Copyright (C) 1992, 1995, 2000 Free Software Foundation, Inc.
-
-NOTE: The canonical source of this file is maintained with the GNU C Library.
-Bugs can be reported to bug-glibc@prep.ai.mit.edu.
-
-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. */
#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <errno.h>
-
-#if _LIBC || HAVE_STDLIB_H
-# include <stdlib.h>
-#endif
-#if _LIBC || HAVE_STRING_H
-# include <string.h>
-#endif
-#if _LIBC || HAVE_UNISTD_H
-# include <unistd.h>
-#endif
-
-#ifndef HAVE_GNU_LD
-# define __environ environ
+#include "config.h"
#endif
+#include <sys/types.h>
+#include <stdlib.h>
+#include <string.h>
-int
-setenv (name, value, replace)
- const char *name;
- const char *value;
- int replace;
+#ifndef HAVE_SETENV
+int setenv(const char *kszName, const char *kszValue, int nOverwrite)
{
- register char **ep;
- register size_t size;
- const size_t namelen = strlen (name);
- const size_t vallen = strlen (value) + 1;
-
- size = 0;
- for (ep = __environ; *ep != NULL; ++ep)
- if (!strncmp (*ep, name, namelen) && (*ep)[namelen] == '=')
- break;
- else
- ++size;
-
- if (*ep == NULL)
- {
- static char **last_environ;
- char **new_environ;
- if (__environ == last_environ)
- /* We allocated this space; we can extend it. */
- new_environ = (char **) realloc (last_environ,
- (size + 2) * sizeof (char *));
- else
- new_environ = (char **) malloc ((size + 2) * sizeof (char *));
-
- if (new_environ == NULL)
- return -1;
-
- new_environ[size] = malloc (namelen + 1 + vallen);
- if (new_environ[size] == NULL)
- {
- free ((char *) new_environ);
- errno = ENOMEM;
- return -1;
- }
-
- if (__environ != last_environ)
- memcpy ((char *) new_environ, (char *) __environ,
- size * sizeof (char *));
-
- memcpy (new_environ[size], name, namelen);
- new_environ[size][namelen] = '=';
- memcpy (&new_environ[size][namelen + 1], value, vallen);
-
- new_environ[size + 1] = NULL;
-
- last_environ = __environ = new_environ;
- }
- else if (replace)
- {
- size_t len = strlen (*ep);
- if (len + 1 < namelen + 1 + vallen)
- {
- /* The existing string is too short; malloc a new one. */
- char *new = malloc (namelen + 1 + vallen);
- if (new == NULL)
- return -1;
- *ep = new;
- }
- memcpy (*ep, name, namelen);
- (*ep)[namelen] = '=';
- memcpy (&(*ep)[namelen + 1], value, vallen);
- }
+ char *szPair = NULL;
- return 0;
+ if (nOverwrite == 0 && getenv(kszName) != 0)
+ return 0;
+ szPair = malloc(strlen(kszName) + 1 + strlen(kszValue) + 1);
+ if (szPair == NULL)
+ return -1;
+ strcpy(szPair, kszName);
+ strcat(szPair, "=");
+ strcat(szPair, kszValue);
+ putenv(szPair);
+ return 0;
}
+#endif /* !HAVE_SETENV */
-void
-unsetenv (name)
- const char *name;
+#ifndef HAVE_UNSETENV
+extern char **environ;
+void unsetenv(const char *kszName)
{
- const size_t len = strlen (name);
- char **ep;
-
- for (ep = __environ; *ep; ++ep)
- if (!strncmp (*ep, name, len) && (*ep)[len] == '=')
- {
- /* Found it. Remove this pointer by moving later ones back. */
- char **dp = ep;
- do
- dp[0] = dp[1];
- while (*dp++);
- /* Continue the loop in case NAME appears again. */
- }
+ int nLen;
+ const char *kszTail;
+ char **ppEnv;
+
+ if (kszName == 0 || environ == 0)
+ return;
+ for (kszTail = kszName; *kszTail && *kszTail != '='; kszTail++)
+ /* noop */;
+ nLen = kszTail - kszName;
+ for (ppEnv = environ; *ppEnv != 0; ppEnv++)
+ if (strncmp(*ppEnv, kszName, nLen) == 0 && (*ppEnv)[nLen] == '=')
+ break;
+ while (*ppEnv != 0) {
+ *ppEnv = *(ppEnv + 1);
+ ppEnv++;
+ }
}
+#endif /* !HAVE_UNSETENV */
+
Index: libinetutils/ttymsg.c
--- libinetutils/ttymsg.c.orig 2001-11-01 16:52:19.000000000 +0100
+++ libinetutils/ttymsg.c 2006-10-06 08:11:07.855316674 +0200
@@ -132,7 +132,7 @@
}
if (wret)
{
- (char *)iov->iov_base += wret;
+ iov->iov_base += wret;
iov->iov_len -= wret;
}
continue;
Index: libinetutils/xalloc.h
--- libinetutils/xalloc.h.orig 2002-12-11 13:51:10.000000000 +0100
+++ libinetutils/xalloc.h 2006-10-06 08:11:07.855316674 +0200
@@ -39,7 +39,9 @@
/* Exit value when the requested amount of memory is not available.
It is initialized to EXIT_FAILURE, but the caller may set it to
some other value. */
+#ifdef __GLIBC__
extern int xalloc_exit_failure;
+#endif
/* If this pointer is non-zero, run the specified function upon each
allocation failure. It is initialized to zero. */
Index: libinetutils/xmalloc.c
--- libinetutils/xmalloc.c.orig 2002-12-11 13:42:01.000000000 +0100
+++ libinetutils/xmalloc.c 2006-10-06 08:11:07.855316674 +0200
@@ -23,6 +23,7 @@
#if STDC_HEADERS
# include <stdlib.h>
+# include <stdio.h>
#else
void *calloc ();
void *malloc ();
@@ -34,7 +35,9 @@
#define _(msgid) gettext (msgid)
#define N_(msgid) msgid
+#ifdef __GLIBC__
#include "error.h"
+#endif
#include "xalloc.h"
#ifndef EXIT_FAILURE
@@ -53,7 +56,9 @@
/* Exit value when the requested amount of memory is not available.
The caller may set it to some other value. */
+#ifdef __GLIBC__
int xalloc_exit_failure = EXIT_FAILURE;
+#endif
/* If non NULL, call this function when memory is exhausted. */
void (*xalloc_fail_func) PARAMS ((void)) = 0;
@@ -67,7 +72,11 @@
{
if (xalloc_fail_func)
(*xalloc_fail_func) ();
+#ifdef __GLIBC__
error (xalloc_exit_failure, 0, "%s", _(xalloc_msg_memory_exhausted));
+#else
+ fprintf(stderr, "%s", _(xalloc_msg_memory_exhausted));
+#endif
/* The `noreturn' cannot be given to error, since it may return if
its first argument is 0. To help compilers understand the
xalloc_die does terminate, call exit. */
Index: talk/io.c
--- talk/io.c.orig 2001-06-02 17:27:15.000000000 +0200
+++ talk/io.c 2006-10-06 08:11:07.855316674 +0200
@@ -129,7 +129,9 @@
}
extern int errno;
+#if !defined(__FreeBSD__)
extern int sys_nerr;
+#endif
/*
* p_error prints the system error message on the standard location