[25138] trunk/base/src/pextlib1.0/uid.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon May 14 13:49:49 PDT 2007
Revision: 25138
http://trac.macosforge.org/projects/macports/changeset/25138
Author: eridius at macports.org
Date: 2007-05-14 13:49:49 -0700 (Mon, 14 May 2007)
Log Message:
-----------
Fix the error reporting for the getuid/setuid family of functions in Pextlib to behave appropriately
Modified Paths:
--------------
trunk/base/src/pextlib1.0/uid.c
Modified: trunk/base/src/pextlib1.0/uid.c
===================================================================
--- trunk/base/src/pextlib1.0/uid.c 2007-05-14 19:32:34 UTC (rev 25137)
+++ trunk/base/src/pextlib1.0/uid.c 2007-05-14 20:49:49 UTC (rev 25138)
@@ -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/20070514/494d2676/attachment.html
More information about the macports-changes
mailing list