X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=libiberty%2Fpex-msdos.c;h=b5acd86b0f5febf4c2ba6fc314d665d6631f03bb;hb=bfcb79ead2fdb04c289afde818583b4e4ddb899a;hp=e2d76ee07a9468013454b65629066855955cd0ea;hpb=22683dcae6f7f49db927920b73f69d5d094c9369;p=pf3gnuchains%2Fgcc-fork.git diff --git a/libiberty/pex-msdos.c b/libiberty/pex-msdos.c index e2d76ee07a9..b5acd86b0f5 100644 --- a/libiberty/pex-msdos.c +++ b/libiberty/pex-msdos.c @@ -16,8 +16,8 @@ Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with libiberty; see the file COPYING.LIB. If not, -write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor, +Boston, MA 02110-1301, USA. */ #include "pex-common.h" @@ -55,8 +55,9 @@ 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 *, - char * const *, int, int, int, - const char **, int *); + 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 *, int, const char **, int *); @@ -73,6 +74,7 @@ const struct pex_funcs funcs = pex_msdos_wait, NULL, /* pipe */ NULL, /* fdopenr */ + NULL, /* fdopenw */ pex_msdos_cleanup }; @@ -89,7 +91,7 @@ pex_init (int flags, const char *pname, const char *tempbase) ret = pex_init_common (flags, pname, tempbase, funcs); - ret->sysdep = xmalloc (sizeof (struct pex_msdos)); + ret->sysdep = XNEW (struct pex_msdos); for (i = 0; i < PEX_MSDOS_FILE_COUNT; ++i) ret->files[i] = NULL; ret->statuses = NULL; @@ -152,7 +154,8 @@ pex_msdos_close (struct pex_obj *obj, int fd) static long pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable, - char * const * argv, int in, int out, + char * const * argv, char * const * env, int in, int out, + int toclose ATTRIBUTE_UNUSED, int errdes ATTRIBUTE_UNUSED, const char **errmsg, int *err) { @@ -210,7 +213,7 @@ pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable, outfile = ms->files[outindex]; } - scmd = xmalloc (strlen (program) + scmd = XNEWVEC (char, strlen (program) + ((flags & PEXECUTE_SEARCH) != 0 ? 4 : 0) + strlen (rf) + strlen (infile) @@ -269,7 +272,7 @@ pex_msdos_exec_child (struct pex_obj *obj, int flags, const char *executable, /* Save the exit status for later. When we are called, obj->count is the number of children which have executed before this one. */ - ms->statuses = xrealloc (ms->statuses, (obj->count + 1) * sizeof (int)); + ms->statuses = XRESIZEVEC(int, ms->statuses, obj->count + 1); ms->statuses[obj->count] = status; return obj->count;