Index: trunk/ippToPsps/src/main.c
===================================================================
--- trunk/ippToPsps/src/main.c	(revision 27345)
+++ trunk/ippToPsps/src/main.c	(revision 27684)
@@ -18,20 +18,17 @@
     ippToPsps_VersionPrint();
 
-    int ret = PS_EXIT_SUCCESS;
+    int exitCode;
 
     // create ippToPsps
     IppToPsps *ippToPsps = ippToPsps_Constructor(&argc, argv);
-
-    if (!ippToPsps) ret = PS_EXIT_CONFIG_ERROR;
-    else {
-
-        if (!ippToPsps->run(ippToPsps)) ret = PS_EXIT_DATA_ERROR;
-        psFree(ippToPsps);
-    }
+    ippToPsps->run(ippToPsps);
+    exitCode = ippToPsps->exitCode;
+    psFree(ippToPsps);
 
     double secs = psTimerMark("ippToPsps");
 
-    psLogMsg("ippToPsps", 3, "ippToPsps completed %ssuccessfully in %.1f %s\n", 
-            (ret == PS_EXIT_SUCCESS) ? "" : "un", 
+    psLogMsg("ippToPsps", 3, "ippToPsps completed %ssuccessfully, with exit code %d, in %.1f %s\n", 
+            (exitCode == PS_EXIT_SUCCESS) ? "" : "un",
+            exitCode,
             (secs<60.0) ? secs : (secs/60.0),
             (secs<60.0) ? "sec(s)" : "min(s)");
@@ -41,4 +38,4 @@
     psLibFinalize();
 
-    return ret;
+    return exitCode;
 }
