diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-06 04:30:03 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-06 04:30:03 +0000 |
commit | a585ba226b0adfc310a49bb5045c3a3096da3da3 (patch) | |
tree | 114a2d1d0eabce485ff51e665f8fc90f047f2ffb /sysdeps/posix/system.c | |
parent | 45085ac9b99d555acb17994040dcb78f9b97df93 (diff) | |
download | glibc-a585ba226b0adfc310a49bb5045c3a3096da3da3.tar glibc-a585ba226b0adfc310a49bb5045c3a3096da3da3.tar.gz glibc-a585ba226b0adfc310a49bb5045c3a3096da3da3.tar.bz2 glibc-a585ba226b0adfc310a49bb5045c3a3096da3da3.zip |
* sysdeps/posix/system.c (do_system): New function, guts broken out of
__libc_system.
(__libc_system): Call it, putting just the line == NULL test here.
* include/libc-symbols.h (__hidden_proto): Add extern keywords so
variables work right.
* elf/dl-open.c (dl_open_worker): Use _ macro instead of gettext.
* elf/dl-close.c (_dl_close): Likewise.
* include/netinet/in.h: Use libc_hidden_proto for bindresvport,
in6addr_any, in6addr_loopback. Remove decls for
bindresvport_internal, in6addr_any_internal, in6addr_loopback_internal.
* sunrpc/svc_udp.c (svcudp_bufcreate): Nix INTUSE for bindresvport.
* sunrpc/svc_tcp.c (svctcp_create): Likewise.
* sunrpc/clnt_udp.c (clntudp_bufcreate): Likewise.
* sunrpc/bindrsvprt.c: Change INTDEF to libc_hidden_def.
* inet/in6_addr.c: Change INTVARDEF to libc_hidden_def.
* sysdeps/posix/getaddrinfo.c (gaih_inet): Nix INTUSE for
in6addr_loopback.
* inet/gethstbyad_r.c (PREPROCESS): Nix INTUSE for in6addr_any.
* include/netinet/ether.h: Use libc_hidden_proto for ether_ntoa_r,
ether_aton_r.
* inet/ether_aton_r.c: Add libc_hidden_def.
* inet/ether_ntoa_r.c: Likewise.
* include/rpc/auth.h: Use libc_hidden_proto for getnetname,
netname2user, host2netname.
* sunrpc/netname.c: Add libc_hidden_def.
* include/netdb.h: Use libc_hidden_proto for innetgr, rcmd_af,
rexec_af, rresvport_af, ruserok_af.
* inet/rcmd.c: Add libc_hidden_def.
* inet/getnetgrent_r.c: Likewise.
Diffstat (limited to 'sysdeps/posix/system.c')
-rw-r--r-- | sysdeps/posix/system.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c index e72b97792b..d7e0bcf254 100644 --- a/sysdeps/posix/system.c +++ b/sysdeps/posix/system.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1991-99,2000,02 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -33,8 +33,8 @@ #define SHELL_NAME "sh" /* Name to give it. */ /* Execute LINE as a shell command, returning its status. */ -int -__libc_system (const char *line) +static int +do_system (const char *line) { int status, save; pid_t pid; @@ -43,11 +43,6 @@ __libc_system (const char *line) sigset_t block, omask; #endif - if (line == NULL) - /* Check that we have a command processor available. It might - not be available after a chroot(), for example. */ - return __libc_system ("exit 0") == 0; - sa.sa_handler = SIG_IGN; sa.sa_flags = 0; __sigemptyset (&sa.sa_mask); @@ -154,4 +149,15 @@ __libc_system (const char *line) return status; } + +int +__libc_system (const char *line) +{ + if (line == NULL) + /* Check that we have a command processor available. It might + not be available after a chroot(), for example. */ + return do_system ("exit 0") == 0; + + return do_system (line); +} weak_alias (__libc_system, system) |