1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-04 08:22:08 +03:00

sys_popen got damaged when converted from FILE * to int fd I think.

Patrick Powell kindly pointed out the bug.
Jeremy.
(This used to be commit 1f156b2420)
This commit is contained in:
Jeremy Allison
2000-10-08 21:21:27 +00:00
parent 5ad18c79ad
commit 33170cc6fb

View File

@ -908,6 +908,8 @@ int sys_popen(const char *command)
if((entry = (popen_list *)malloc(sizeof(popen_list))) == NULL)
goto err_exit;
ZERO_STRUCTP(entry);
/*
* Extract the command and args into a NULL terminated array.
*/
@ -959,6 +961,7 @@ int sys_popen(const char *command)
/* Link into popen_chain. */
entry->next = popen_chain;
popen_chain = entry;
entry->fd = parent_end;
return entry->fd;
@ -1013,17 +1016,3 @@ int sys_pclose(int fd)
return -1;
return wstatus;
}
#if GLIBC_HACK_FCNTL64
#include <asm/unistd.h>
/* this is a gross hack. 64 bit locking is completely screwed up on
i386 Linux in glibc 2.1.95 (which ships with RedHat 7.0). This hack
"fixes" the problem with the current 2.4.0test kernels
*/
int fcntl64(int fd, int cmd, struct flock * lock)
{
return syscall(__NR_fcntl64, fd, cmd, lock);
}
#endif /* HACK_FCNTL64 */