]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libiberty/pex-msdos.c
Update configure deps, remove stray \xA0 in picflag.m4, regenerate
[thirdparty/gcc.git] / libiberty / pex-msdos.c
index b5acd86b0f5febf4c2ba6fc314d665d6631f03bb..fa0f40ac9edaad32e9834abf6d1cb94010a152b6 100644 (file)
@@ -54,12 +54,12 @@ struct pex_msdos
 static int pex_msdos_open (struct pex_obj *, const char *, int);
 static int pex_msdos_open (struct pex_obj *, const char *, int);
 static int pex_msdos_fdindex (struct pex_msdos *, int);
-static long pex_msdos_exec_child (struct pex_obj *, int, const char *,
+static pid_t pex_msdos_exec_child (struct pex_obj *, int, const char *,
                                  char * const *, char * const *,
                                  int, int, int, int,
                                  int, const char **, int *);
 static int pex_msdos_close (struct pex_obj *, int);
-static int pex_msdos_wait (struct pex_obj *, long, int *, struct pex_time *,
+static pid_t pex_msdos_wait (struct pex_obj *, pid_t, int *, struct pex_time *,
                           int, const char **, int *);
 static void pex_msdos_cleanup (struct pex_obj *);
 
@@ -152,7 +152,7 @@ pex_msdos_close (struct pex_obj *obj, int fd)
 
 /* Execute a child.  */
 
-static long
+static pid_t
 pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable,
                      char * const * argv, char * const * env, int in, int out,
                      int toclose ATTRIBUTE_UNUSED,
@@ -235,7 +235,7 @@ pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable,
       free (scmd);
       free (rf);
       *errmsg = "cannot open temporary command file";
-      return -1;
+      return (pid_t) -1;
     }
 
   for (i = 1; argv[i] != NULL; ++i)
@@ -262,7 +262,7 @@ pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable,
       free (scmd);
       free (rf);
       *errmsg = "system";
-      return -1;
+      return (pid_t) -1;
     }
 
   remove (rf);
@@ -275,15 +275,15 @@ pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable,
   ms->statuses = XRESIZEVEC(int, ms->statuses, obj->count + 1);
   ms->statuses[obj->count] = status;
 
-  return obj->count;
+  return (pid_t) obj->count;
 }
 
 /* Wait for a child process to complete.  Actually the child process
    has already completed, and we just need to return the exit
    status.  */
 
-static int
-pex_msdos_wait (struct pex_obj *obj, long pid, int *status,
+static pid_t
+pex_msdos_wait (struct pex_obj *obj, pid_t pid, int *status,
                struct pex_time *time, int done ATTRIBUTE_UNUSED,
                const char **errmsg ATTRIBUTE_UNUSED,
                int *err ATTRIBUTE_UNUSED)
@@ -310,10 +310,8 @@ pex_msdos_cleanup (struct pex_obj  *obj)
 
   ms = (struct pex_msdos *) obj->sysdep;
   for (i = 0; i < PEX_MSDOS_FILE_COUNT; ++i)
-    if (msdos->files[i] != NULL)
-      free (msdos->files[i]);
-  if (msdos->statuses != NULL)
-    free (msdos->statuses);
+    free (msdos->files[i]);
+  free (msdos->statuses);
   free (msdos);
   obj->sysdep = NULL;
 }