* as/z80/z80mch.c: fixed bug #1704376: missing as-z80 errors
[fw/sdcc] / support / Util / MySystem.c
index 307149bd267c26ca27b716f30111c3ebff0e8bce..6aec20f98e91b338e1592926bab4441e115cfcec 100644 (file)
@@ -238,26 +238,18 @@ merge_command(const char *command, const char *params)
   /* allocate extra space for 2x'"', ' ' and '\0' */
   char *cmd_line = (char *)Safe_alloc(strlen(command) + strlen(params) + 4);
   sprintf(cmd_line, "\"%s\" %s", command, params);
-
   return cmd_line;
 }
 
 
 /*!
- * check if the path is absolute
+ * check if the path is relative or absolute (if contains the dir separator)
  */
 
 static int
 has_path(const char *path)
 {
-  if (strrchr(path, DIR_SEPARATOR_CHAR) == NULL)
-#ifdef _WIN32
-    /* try *nix dir separator on WIN32 */
-    if (strrchr(path, UNIX_DIR_SEPARATOR_CHAR) == NULL)
-#endif
-      return 0;
-
-  return 1;
+  return dbuf_splitPath(path, NULL, NULL);
 }
 
 
@@ -329,6 +321,11 @@ my_system(const char *cmd)
   }
 
   e = system(cmdLine);
+
+  if (options.verboseExec && e) {
+      printf("+ %s returned errorcode %d\n", cmdLine, e);
+  }
+
   Safe_free(cmdLine);
 
   return e;