[135850] trunk/base/src/pextlib1.0/Pextlib.c

cal at macports.org cal at macports.org
Tue May 5 10:24:04 PDT 2015


Revision: 135850
          https://trac.macports.org/changeset/135850
Author:   cal at macports.org
Date:     2015-05-05 10:24:04 -0700 (Tue, 05 May 2015)
Log Message:
-----------
base: pextlib: clean up ExistsuserCmd and ExistsgroupCmd, remove unneeded strdup(3)

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

Modified: trunk/base/src/pextlib1.0/Pextlib.c
===================================================================
--- trunk/base/src/pextlib1.0/Pextlib.c	2015-05-05 17:09:32 UTC (rev 135849)
+++ trunk/base/src/pextlib1.0/Pextlib.c	2015-05-05 17:24:04 UTC (rev 135850)
@@ -201,24 +201,25 @@
 {
     Tcl_Obj *tcl_result;
     struct passwd *pwent;
-    char *user;
+    const char *user;
 
     if (objc != 2) {
         Tcl_WrongNumArgs(interp, 1, objv, "user");
         return TCL_ERROR;
     }
 
-    user = strdup(Tcl_GetString(objv[1]));
-    if (isdigit(*(user)))
-        pwent = getpwuid((uid_t)strtol(user, 0, 0));
-    else
+    user = Tcl_GetString(objv[1]);
+    if (isdigit(*user)) {
+        pwent = getpwuid((uid_t) strtol(user, 0, 0));
+    } else {
         pwent = getpwnam(user);
-    free(user);
+    }
 
-    if (pwent == NULL)
+    if (pwent == NULL) {
         tcl_result = Tcl_NewIntObj(0);
-    else
+    } else {
         tcl_result = Tcl_NewIntObj(pwent->pw_uid);
+    }
 
     Tcl_SetObjResult(interp, tcl_result);
     return TCL_OK;
@@ -228,24 +229,25 @@
 {
     Tcl_Obj *tcl_result;
     struct group *grent;
-    char *group;
+    const char *group;
 
     if (objc != 2) {
         Tcl_WrongNumArgs(interp, 1, objv, "groupname");
         return TCL_ERROR;
     }
 
-    group = strdup(Tcl_GetString(objv[1]));
-    if (isdigit(*(group)))
-        grent = getgrgid((gid_t)strtol(group, 0, 0));
-    else
+    group = Tcl_GetString(objv[1]);
+    if (isdigit(*group)) {
+        grent = getgrgid((gid_t) strtol(group, 0, 0));
+    } else {
         grent = getgrnam(group);
-    free(group);
+    }
 
-    if (grent == NULL)
+    if (grent == NULL) {
         tcl_result = Tcl_NewIntObj(0);
-    else
+    } else {
         tcl_result = Tcl_NewIntObj(grent->gr_gid);
+    }
 
     Tcl_SetObjResult(interp, tcl_result);
     return TCL_OK;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150505/fd379436/attachment-0001.html>


More information about the macports-changes mailing list