From 12f19801bf46ecceda69e476119a787e405ff904 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Sun, 02 Jun 2013 10:12:27 -0400 Subject: Delete upstream source directory. --- (limited to 'src/libopkg/.svn/text-base/xsystem.c.svn-base') diff --git a/src/libopkg/.svn/text-base/xsystem.c.svn-base b/src/libopkg/.svn/text-base/xsystem.c.svn-base deleted file mode 100644 index ae7ca87..0000000 --- a/src/libopkg/.svn/text-base/xsystem.c.svn-base +++ /dev/null @@ -1,73 +0,0 @@ -/* xsystem.c - system(3) with error messages - - Carl D. Worth - - Copyright (C) 2001 University of Southern California - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2, or (at - your option) any later version. - - This program is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. -*/ - -#include -#include -#include - -#include "xsystem.h" -#include "libbb/libbb.h" - -/* Like system(3), but with error messages printed if the fork fails - or if the child process dies due to an uncaught signal. Also, the - return value is a bit simpler: - - -1 if there was any problem - Otherwise, the 8-bit return value of the program ala WEXITSTATUS - as defined in . -*/ -int -xsystem(const char *argv[]) -{ - int status; - pid_t pid; - - pid = vfork(); - - switch (pid) { - case -1: - opkg_perror(ERROR, "%s: vfork", argv[0]); - return -1; - case 0: - /* child */ - execvp(argv[0], (char*const*)argv); - _exit(-1); - default: - /* parent */ - break; - } - - if (waitpid(pid, &status, 0) == -1) { - opkg_perror(ERROR, "%s: waitpid", argv[0]); - return -1; - } - - if (WIFSIGNALED(status)) { - opkg_msg(ERROR, "%s: Child killed by signal %d.\n", - argv[0], WTERMSIG(status)); - return -1; - } - - if (!WIFEXITED(status)) { - /* shouldn't happen */ - opkg_msg(ERROR, "%s: Your system is broken: got status %d " - "from waitpid.\n", argv[0], status); - return -1; - } - - return WEXITSTATUS(status); -} -- cgit v0.9.1