[65075] trunk/base/src/pextlib1.0/system.c

raimue at macports.org raimue at macports.org
Sat Mar 20 20:46:17 PDT 2010


Revision: 65075
          http://trac.macports.org/changeset/65075
Author:   raimue at macports.org
Date:     2010-03-20 20:46:16 -0700 (Sat, 20 Mar 2010)
Log Message:
-----------
pextlib1.0/system.c: Whitespace only, tabs to spaces

Modified Paths:
--------------
    trunk/base/src/pextlib1.0/system.c

Modified: trunk/base/src/pextlib1.0/system.c
===================================================================
--- trunk/base/src/pextlib1.0/system.c	2010-03-21 03:44:49 UTC (rev 65074)
+++ trunk/base/src/pextlib1.0/system.c	2010-03-21 03:46:16 UTC (rev 65075)
@@ -1,3 +1,4 @@
+/* vim: set et sw=4 ts=4 sts=4: */
 /*
  * system.c
  * $Id$
@@ -64,175 +65,175 @@
 #define CBUFSIZ 30
 
 struct linebuf {
-	size_t len;
-	char *line;
+    size_t len;
+    char *line;
 };
 
 int SystemCmd(ClientData clientData UNUSED, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv[])
 {
-	char *buf;
-	struct linebuf circbuf[CBUFSIZ];
-	size_t linelen;
-	char *args[4];
-	char *cmdstring;
-	FILE *pdes;
-	int fdset[2], nullfd;
-	int fline, pos, ret;
-	int osetsid = 0;
-	pid_t pid;
-	uid_t euid;
-	Tcl_Obj *tcl_result;
-	int read_failed, status;
+    char *buf;
+    struct linebuf circbuf[CBUFSIZ];
+    size_t linelen;
+    char *args[4];
+    char *cmdstring;
+    FILE *pdes;
+    int fdset[2], nullfd;
+    int fline, pos, ret;
+    int osetsid = 0;
+    pid_t pid;
+    uid_t euid;
+    Tcl_Obj *tcl_result;
+    int read_failed, status;
 
-	/* usage: system [-notty] command */
-	if (objc == 2) {
-		cmdstring = Tcl_GetString(objv[1]);
-	} else if (objc == 3) {
-		char *arg = Tcl_GetString(objv[1]);
-		cmdstring = Tcl_GetString(objv[2]);
+    /* usage: system [-notty] command */
+    if (objc == 2) {
+        cmdstring = Tcl_GetString(objv[1]);
+    } else if (objc == 3) {
+        char *arg = Tcl_GetString(objv[1]);
+        cmdstring = Tcl_GetString(objv[2]);
 
-		if (strcmp(arg, "-notty") == 0) {
-			osetsid = 1;
-		} else {
-			tcl_result = Tcl_NewStringObj("bad option ", -1);
-			Tcl_AppendObjToObj(tcl_result, Tcl_NewStringObj(arg, -1));
-			Tcl_SetObjResult(interp, tcl_result);
-			return TCL_ERROR;
-		}
-	} else {
-		Tcl_WrongNumArgs(interp, 1, objv, "command");
-		return TCL_ERROR;
-	}
+        if (strcmp(arg, "-notty") == 0) {
+            osetsid = 1;
+        } else {
+            tcl_result = Tcl_NewStringObj("bad option ", -1);
+            Tcl_AppendObjToObj(tcl_result, Tcl_NewStringObj(arg, -1));
+            Tcl_SetObjResult(interp, tcl_result);
+            return TCL_ERROR;
+        }
+    } else {
+        Tcl_WrongNumArgs(interp, 1, objv, "command");
+        return TCL_ERROR;
+    }
 
-	/*
-	 * Fork a child to run the command, in a popen() like fashion -
-	 * popen() itself is not used because stderr is also desired.
-	 */
-	if (pipe(fdset) != 0) {
-		return TCL_ERROR;
-	}
+    /*
+     * Fork a child to run the command, in a popen() like fashion -
+     * popen() itself is not used because stderr is also desired.
+     */
+    if (pipe(fdset) != 0) {
+        return TCL_ERROR;
+    }
 
-	pid = fork();
-	switch (pid) {
-	case -1: /* error */
-		return TCL_ERROR;
-		break;
-	case 0: /* child */
-		close(fdset[0]);
+    pid = fork();
+    switch (pid) {
+    case -1: /* error */
+        return TCL_ERROR;
+        break;
+    case 0: /* child */
+        close(fdset[0]);
 
-		if ((nullfd = open(_PATH_DEVNULL, O_RDONLY)) == -1)
-			_exit(1);
-		dup2(nullfd, STDIN_FILENO);
-		dup2(fdset[1], STDOUT_FILENO);
-		dup2(fdset[1], STDERR_FILENO);
-		/* drop the controlling terminal if requested */
-		if (osetsid) {
-			if (setsid() == -1)
-				_exit(1);
-		}
-		/* drop privileges entirely for child */
-		if (getuid() == 0 && (euid = geteuid()) != 0) {
-		    if (seteuid(0) || setuid(euid)) {
-		        _exit(1);
-		    }
-		}
-		/* XXX ugly string constants */
-		args[0] = "sh";
-		args[1] = "-c";
-		args[2] = cmdstring;
-		args[3] = NULL;
-		execve("/bin/sh", args, environ);
-		_exit(1);
-		break;
-	default: /* parent */
-		break;
-	}
+        if ((nullfd = open(_PATH_DEVNULL, O_RDONLY)) == -1)
+            _exit(1);
+        dup2(nullfd, STDIN_FILENO);
+        dup2(fdset[1], STDOUT_FILENO);
+        dup2(fdset[1], STDERR_FILENO);
+        /* drop the controlling terminal if requested */
+        if (osetsid) {
+            if (setsid() == -1)
+                _exit(1);
+        }
+        /* drop privileges entirely for child */
+        if (getuid() == 0 && (euid = geteuid()) != 0) {
+            if (seteuid(0) || setuid(euid)) {
+                _exit(1);
+            }
+        }
+        /* XXX ugly string constants */
+        args[0] = "sh";
+        args[1] = "-c";
+        args[2] = cmdstring;
+        args[3] = NULL;
+        execve("/bin/sh", args, environ);
+        _exit(1);
+        break;
+    default: /* parent */
+        break;
+    }
 
-	close(fdset[1]);
+    close(fdset[1]);
 
-	/* read from simulated popen() pipe */
-	read_failed = 0;
-	pos = 0;
-	memset(circbuf, 0, sizeof(circbuf));
-	pdes = fdopen(fdset[0], "r");
-	while ((buf = fgetln(pdes, &linelen)) != NULL) {
-		char *sbuf;
-		int slen;
+    /* read from simulated popen() pipe */
+    read_failed = 0;
+    pos = 0;
+    memset(circbuf, 0, sizeof(circbuf));
+    pdes = fdopen(fdset[0], "r");
+    while ((buf = fgetln(pdes, &linelen)) != NULL) {
+        char *sbuf;
+        int slen;
 
-		/*
-		 * Allocate enough space to insert a terminating
-		 * '\0' if the line is not terminated with a '\n'
-		 */
-		if (buf[linelen - 1] == '\n')
-			slen = linelen;
-		else
-			slen = linelen + 1;
+        /*
+         * Allocate enough space to insert a terminating
+         * '\0' if the line is not terminated with a '\n'
+         */
+        if (buf[linelen - 1] == '\n')
+            slen = linelen;
+        else
+            slen = linelen + 1;
 
-		if (circbuf[pos].len == 0)
-			sbuf = malloc(slen);
-		else {
-			sbuf = realloc(circbuf[pos].line, slen);
-		}
+        if (circbuf[pos].len == 0)
+            sbuf = malloc(slen);
+        else {
+            sbuf = realloc(circbuf[pos].line, slen);
+        }
 
-		if (sbuf == NULL) {
-			read_failed = 1;
-			break;
-		}
+        if (sbuf == NULL) {
+            read_failed = 1;
+            break;
+        }
 
-		memcpy(sbuf, buf, linelen);
-		/* terminate line with '\0',replacing '\n' if it exists */
-		sbuf[slen - 1] = '\0';
+        memcpy(sbuf, buf, linelen);
+        /* terminate line with '\0',replacing '\n' if it exists */
+        sbuf[slen - 1] = '\0';
 
-		circbuf[pos].line = sbuf;
-		circbuf[pos].len = slen;
+        circbuf[pos].line = sbuf;
+        circbuf[pos].len = slen;
 
-		if (pos++ == CBUFSIZ - 1) {
-			pos = 0;
-		}
+        if (pos++ == CBUFSIZ - 1) {
+            pos = 0;
+        }
 
-		if (ui_info(interp, sbuf) != TCL_OK) {
-			read_failed = 1;
-			break;
-		}
-	}
-	fclose(pdes);
+        if (ui_info(interp, sbuf) != TCL_OK) {
+            read_failed = 1;
+            break;
+        }
+    }
+    fclose(pdes);
 
-	status = TCL_ERROR;
+    status = TCL_ERROR;
 
-	if (wait(&ret) == pid && WIFEXITED(ret) && !read_failed) {
-		/* Normal exit, and reading from the pipe didn't fail. */
-		if (WEXITSTATUS(ret) == 0) {
-			status = TCL_OK;
-		} else {
-		    char *errorstr;
-		    size_t errorstrlen;
-		  	/* set errorCode [list CHILDSTATUS <pid> <code>] */
-			Tcl_Obj* errorCode = Tcl_NewListObj(0, NULL);
-			Tcl_ListObjAppendElement(interp, errorCode, Tcl_NewStringObj("CHILDSTATUS", -1));
-			Tcl_ListObjAppendElement(interp, errorCode, Tcl_NewIntObj(pid));
-			Tcl_ListObjAppendElement(interp, errorCode, Tcl_NewIntObj(WEXITSTATUS(ret)));
-			Tcl_SetObjErrorCode(interp, errorCode);
+    if (wait(&ret) == pid && WIFEXITED(ret) && !read_failed) {
+        /* Normal exit, and reading from the pipe didn't fail. */
+        if (WEXITSTATUS(ret) == 0) {
+            status = TCL_OK;
+        } else {
+            char *errorstr;
+            size_t errorstrlen;
+            /* set errorCode [list CHILDSTATUS <pid> <code>] */
+            Tcl_Obj* errorCode = Tcl_NewListObj(0, NULL);
+            Tcl_ListObjAppendElement(interp, errorCode, Tcl_NewStringObj("CHILDSTATUS", -1));
+            Tcl_ListObjAppendElement(interp, errorCode, Tcl_NewIntObj(pid));
+            Tcl_ListObjAppendElement(interp, errorCode, Tcl_NewIntObj(WEXITSTATUS(ret)));
+            Tcl_SetObjErrorCode(interp, errorCode);
 
-			/* print error */
-			errorstrlen = strlen("shell command \"")+strlen(cmdstring)+strlen("\" returned error ")+12;
-			errorstr = malloc(errorstrlen);
-			if (errorstr) {
+            /* print error */
+            errorstrlen = strlen("shell command \"")+strlen(cmdstring)+strlen("\" returned error ")+12;
+            errorstr = malloc(errorstrlen);
+            if (errorstr) {
                 *errorstr = '\0';
                 snprintf(errorstr, errorstrlen, "%s%s%s%d", "shell command \"", cmdstring, "\" returned error ", WEXITSTATUS(ret));
-			    ui_info(interp, errorstr);
-			    free(errorstr);
-			}
-			Tcl_SetObjResult(interp, Tcl_NewStringObj("shell command failed", -1));
-		}
-	}
+                ui_info(interp, errorstr);
+                free(errorstr);
+            }
+            Tcl_SetObjResult(interp, Tcl_NewStringObj("shell command failed", -1));
+        }
+    }
 
-	/* Cleanup. */
-	close(fdset[0]);
-	for (fline = 0; fline < CBUFSIZ; fline++) {
-		if (circbuf[fline].len != 0) {
-			free(circbuf[fline].line);
-		}
-	}
+    /* Cleanup. */
+    close(fdset[0]);
+    for (fline = 0; fline < CBUFSIZ; fline++) {
+        if (circbuf[fline].len != 0) {
+            free(circbuf[fline].line);
+        }
+    }
 
-	return status;
+    return status;
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100320/891a53e1/attachment.html>


More information about the macports-changes mailing list