[63799] trunk/base/src

raimue at macports.org raimue at macports.org
Mon Feb 15 05:48:49 PST 2010


Revision: 63799
          http://trac.macports.org/changeset/63799
Author:   raimue at macports.org
Date:     2010-02-15 05:48:46 -0800 (Mon, 15 Feb 2010)
Log Message:
-----------
macports1.0, pextlib1.0:
Make sure we always get the right error description by calling Tcl_SetErrno
before using Tcl_PosixError as the man page suggest. Also include some
additional information in the error messages (e.g. path names).

Modified Paths:
--------------
    trunk/base/src/macports1.0/get_systemconfiguration_proxies.c
    trunk/base/src/pextlib1.0/Pextlib.c
    trunk/base/src/pextlib1.0/fs-traverse.c

Modified: trunk/base/src/macports1.0/get_systemconfiguration_proxies.c
===================================================================
--- trunk/base/src/macports1.0/get_systemconfiguration_proxies.c	2010-02-15 12:55:23 UTC (rev 63798)
+++ trunk/base/src/macports1.0/get_systemconfiguration_proxies.c	2010-02-15 13:48:46 UTC (rev 63799)
@@ -91,6 +91,7 @@
         CFRelease( proxies );
     }
     if( cmdResult == TCL_ERROR )
+        Tcl_SetErrno( errno );
         Tcl_SetResult( interp, (char *) Tcl_PosixError( interp ), TCL_STATIC );
 #endif
    return cmdResult;

Modified: trunk/base/src/pextlib1.0/Pextlib.c
===================================================================
--- trunk/base/src/pextlib1.0/Pextlib.c	2010-02-15 12:55:23 UTC (rev 63798)
+++ trunk/base/src/pextlib1.0/Pextlib.c	2010-02-15 13:48:46 UTC (rev 63799)
@@ -338,7 +338,9 @@
     target = Tcl_GetString(objv[2]);
 
     if (symlink(value, target) != 0) {
-        Tcl_SetResult(interp, (char *)Tcl_PosixError(interp), TCL_STATIC);
+        Tcl_SetErrno(errno);
+        Tcl_ResetResult(interp);
+        Tcl_AppendResult(interp, "symlink: ", target, " -> ", value, ": ", (char *)Tcl_PosixError(interp), NULL);
         return TCL_ERROR;
     }
     return TCL_OK;
@@ -450,7 +452,9 @@
         }
     }
     if (lchown(path, (uid_t) user, (gid_t) group) != 0) {
-        Tcl_SetResult(interp, (char *)Tcl_PosixError(interp), TCL_STATIC);
+        Tcl_SetErrno(errno);
+        Tcl_ResetResult(interp);
+        Tcl_AppendResult(interp, "lchown: ", path, ": ", (char *)Tcl_PosixError(interp), NULL);
         return TCL_ERROR;
     }
 

Modified: trunk/base/src/pextlib1.0/fs-traverse.c
===================================================================
--- trunk/base/src/pextlib1.0/fs-traverse.c	2010-02-15 12:55:23 UTC (rev 63798)
+++ trunk/base/src/pextlib1.0/fs-traverse.c	2010-02-15 13:48:46 UTC (rev 63799)
@@ -201,6 +201,7 @@
     }
     /* check errno before calling fts_close in case it sets errno to 0 on success */
     if (errno != 0 || (fts_close(root_fts) != 0 && !(flags & F_IGNORE_ERRORS))) {
+        Tcl_SetErrno(errno);
         Tcl_SetResult(interp, (char *)Tcl_PosixError(interp), TCL_STATIC);
         return TCL_ERROR;
     }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100215/559a07c9/attachment.html>


More information about the macports-changes mailing list