summary refs log tree commit diff
path: root/posix
diff options
context:
space:
mode:
Diffstat (limited to 'posix')
-rw-r--r--posix/getopt_init.c12
-rw-r--r--posix/glob.h12
-rw-r--r--posix/wordexp.c2
3 files changed, 11 insertions, 15 deletions
diff --git a/posix/getopt_init.c b/posix/getopt_init.c
index d78e30f7de..6fddc8b26f 100644
--- a/posix/getopt_init.c
+++ b/posix/getopt_init.c
@@ -32,8 +32,6 @@
 /* Variable to synchronize work.  */
 char *__getopt_nonoption_flags;
 
-extern pid_t __libc_pid;
-
 
 /* Remove the environment variable "_<PID>_GNU_nonoption_argv_flags_" if
    it is still available.  If the getopt functions are also used in the
@@ -51,15 +49,11 @@ __getopt_clean_environment (char **env)
   char *cp, **ep;
   size_t len;
 
-  /* Generate name of the environment variable.  We must know the PID
-     and we must not use `sprintf'.  */
-  if (__libc_pid == 0xf00baa)
-    __libc_pid = __getpid ();
-
-  /* Construct "_<PID>_GNU_nonoption_argv_flags_=" string.  */
+  /* Construct the "_<PID>_GNU_nonoption_argv_flags_=" string.  We must
+     not use `sprintf'.  */
   cp = memcpy (&var[sizeof (var) - sizeof (envvar_tail)], envvar_tail,
 	       sizeof (envvar_tail));
-  cp = _itoa_word (__libc_pid, cp, 10, 0);
+  cp = _itoa_word (__getpid (), cp, 10, 0);
   *--cp = '_';
   len = (var + sizeof (var) - 1) - cp;
 
diff --git a/posix/glob.h b/posix/glob.h
index fd8255cd53..0b7808b15c 100644
--- a/posix/glob.h
+++ b/posix/glob.h
@@ -26,6 +26,7 @@ extern "C" {
 #if defined __cplusplus || (defined __STDC__ && __STDC__) || defined WINDOWS32
 # undef	__P
 # define __P(protos)	protos
+# define __PMT(protos)	protos
 # define __ptr_t	void *
 # if !defined __GNUC__ || __GNUC__ < 2
 #  undef __const
@@ -34,6 +35,7 @@ extern "C" {
 #else /* Not C++ or ANSI C.  */
 # undef	__P
 # define __P(protos)	()
+# define __PMT(protos)	()
 # undef	__const
 # define __const
 # define __ptr_t	char *
@@ -99,11 +101,11 @@ typedef struct
 
     /* If the GLOB_ALTDIRFUNC flag is set, the following functions
        are used instead of the normal file access functions.  */
-    void (*gl_closedir) __P ((void *));
-    struct dirent *(*gl_readdir) __P ((void *));
-    __ptr_t (*gl_opendir) __P ((__const char *));
-    int (*gl_lstat) __P ((__const char *, struct stat *));
-    int (*gl_stat) __P ((__const char *, struct stat *));
+    void (*gl_closedir) __PMT ((void *));
+    struct dirent *(*gl_readdir) __PMT ((void *));
+    __ptr_t (*gl_opendir) __PMT ((__const char *));
+    int (*gl_lstat) __PMT ((__const char *, struct stat *));
+    int (*gl_stat) __PMT ((__const char *, struct stat *));
   } glob_t;
 
 /* Do glob searching for PATTERN, placing results in PGLOB.
diff --git a/posix/wordexp.c b/posix/wordexp.c
index 265ddd8a87..4991406ad1 100644
--- a/posix/wordexp.c
+++ b/posix/wordexp.c
@@ -1343,7 +1343,7 @@ envsubst:
 
 	      /* Start a new word with the last parameter. */
 	      *word = w_newword (word_length, max_length);
-	      value = __strdup (__libc_argv[p]);
+	      value = __libc_argv[p];
 	    }
 	  else
 	    {