Added Borland Makefile
[fw/sdcc] / src / SDCCutil.c
index edbe8e6e7fc15869fbb306e66262c81d0e5c7e7f..0247d8949e7e1529381bbf06fb9c4d0ec2ff42d2 100644 (file)
@@ -55,7 +55,7 @@ addToList (const char **list, const char *str)
   /* This is the bad way to do things :) */
   while (*list)
     list++;
-  *list = strdup (str);
+  *list = Safe_strdup (str);
   if (!*list)
     {
       werror (E_OUT_OF_MEM, __FILE__, 0);
@@ -72,7 +72,6 @@ char *
 join(const char **pplist)
 {
   char *pinto = buffer;
-  *pinto = '\0';
 
   while (*pplist)
     {
@@ -81,6 +80,7 @@ join(const char **pplist)
       *pinto++ = ' ';
       pplist++;
     }
+  *pinto = '\0';
 
   return buffer;
 }
@@ -253,7 +253,7 @@ getPrefixFromBinPath (const char *prel)
 
   scratchFileName[strlen(scratchFileName) - strlen(buffer)] = '\0';
 
-  return gc_strdup (scratchFileName);
+  return Safe_strdup (scratchFileName);
 }
 
 /** Returns true if the given path exists.
@@ -271,13 +271,20 @@ static hTab *_mainValues;
 void
 setMainValue (const char *pname, const char *pvalue)
 {
+  assert(pname);
+  assert(pvalue);
+
   shash_add (&_mainValues, pname, pvalue);
 }
 
 void
 buildCmdLine2 (char *pbuffer, const char *pcmd)
 {
-  char *poutcmd = msprintf(_mainValues, pcmd);
+  char *poutcmd;
+  assert(pbuffer && pcmd);
+  assert(_mainValues);
+
+  poutcmd = msprintf(_mainValues, pcmd);
   strcpy(pbuffer, poutcmd);
 }
 
@@ -287,15 +294,6 @@ populateMainValues (const char **ppin)
   _mainValues = populateStringHash(ppin);
 }
 
-char *
-gc_strdup (const char *s)
-{
-  char *ret;
-  ret = Safe_alloc ( strlen (s) + 1);
-  strcpy (ret, s);
-  return ret;
-}
-
 /** Returns true if sz starts with the string given in key.
  */
 bool
@@ -315,3 +313,8 @@ chomp (char *sz)
     *nl = '\0';
 }
 
+hTab *
+getRuntimeVariables(void)
+{
+  return _mainValues;
+}