[25434] branches/dp2mp-move/base/src/pextlib1.0/uid.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon May 21 22:23:38 PDT 2007
Revision: 25434
http://trac.macosforge.org/projects/macports/changeset/25434
Author: jmpp at macports.org
Date: 2007-05-21 22:23:38 -0700 (Mon, 21 May 2007)
Log Message:
-----------
Merging eridius' r25138: Fix the error reporting for the getuid/setuid family of functions in Pextlib to behave appropriately.
Modified Paths:
--------------
branches/dp2mp-move/base/src/pextlib1.0/uid.c
Modified: branches/dp2mp-move/base/src/pextlib1.0/uid.c
===================================================================
--- branches/dp2mp-move/base/src/pextlib1.0/uid.c 2007-05-22 05:21:31 UTC (rev 25433)
+++ branches/dp2mp-move/base/src/pextlib1.0/uid.c 2007-05-22 05:23:38 UTC (rev 25434)
@@ -52,7 +52,7 @@
/* Check the arg count */
if (objc != 1) {
- Tcl_WrongNumArgs(interp, 1, objv, "getuid");
+ Tcl_WrongNumArgs(interp, 1, objv, NULL);
return TCL_ERROR;
}
@@ -73,7 +73,7 @@
/* Check the arg count */
if (objc != 1) {
- Tcl_WrongNumArgs(interp, 1, objv, "geteuid");
+ Tcl_WrongNumArgs(interp, 1, objv, NULL);
return TCL_ERROR;
}
@@ -94,7 +94,7 @@
/* Check the arg count */
if (objc != 2) {
- Tcl_WrongNumArgs(interp, 1, objv, "setuid");
+ Tcl_WrongNumArgs(interp, 1, objv, "uid");
return TCL_ERROR;
}
@@ -103,8 +103,12 @@
return TCL_ERROR;
/* set the uid */
- if (0 != setuid(uid))
- Tcl_SetResult(interp, "setuid failed", NULL);
+ if (0 != setuid(uid)) {
+ Tcl_Obj *result = Tcl_NewStringObj("could not set uid to ", -1);
+ Tcl_AppendObjToObj(result, objv[1]);
+ Tcl_SetObjResult(interp, result);
+ return TCL_ERROR;
+ }
return TCL_OK;
}
@@ -122,7 +126,7 @@
/* Check the arg count */
if (objc != 2) {
- Tcl_WrongNumArgs(interp, 1, objv, "seteuid");
+ Tcl_WrongNumArgs(interp, 1, objv, "uid");
return TCL_ERROR;
}
@@ -131,8 +135,12 @@
return TCL_ERROR;
/* set the euid */
- if (0 != seteuid(uid))
- Tcl_SetResult(interp, "seteuid failed", NULL);
+ if (0 != seteuid(uid)) {
+ Tcl_Obj *result = Tcl_NewStringObj("could not set effective uid to ", -1);
+ Tcl_AppendObjToObj(result, objv[1]);
+ Tcl_SetObjResult(interp, result);
+ return TCL_ERROR;
+ }
return TCL_OK;
}
@@ -151,7 +159,7 @@
/* Check the arg count */
if (objc != 2) {
- Tcl_WrongNumArgs(interp, 1, objv, "name_to_uid");
+ Tcl_WrongNumArgs(interp, 1, objv, "name");
return TCL_ERROR;
}
@@ -185,7 +193,7 @@
/* Check the arg count */
if (objc != 2) {
- Tcl_WrongNumArgs(interp, 1, objv, "getpwnam");
+ Tcl_WrongNumArgs(interp, 1, objv, "uid");
return TCL_ERROR;
}
@@ -196,7 +204,7 @@
/* Map the uid --> name, or empty result on error */
pwent = getpwuid(uid);
if (pwent != NULL)
- Tcl_SetResult(interp, pwent->pw_name, NULL);
+ Tcl_SetResult(interp, pwent->pw_name, TCL_STATIC);
return TCL_OK;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070521/1254afde/attachment.html
More information about the macports-changes
mailing list