removed the last occurences of strdup usage in the code Daniel

* globals.c xmlIO.c xmlcatalog.c: removed the last occurences
  of strdup usage in the code
Daniel
diff --git a/xmlcatalog.c b/xmlcatalog.c
index 3f15369..e0828fa 100644
--- a/xmlcatalog.c
+++ b/xmlcatalog.c
@@ -72,17 +72,23 @@
     return (line_read);
 #else
     char line_read[501];
+    char *ret;
+    int len;
 
     if (prompt != NULL)
 	fprintf(stdout, "%s", prompt);
     if (!fgets(line_read, 500, stdin))
         return(NULL);
     line_read[500] = 0;
-    return(strdup(line_read));
+    len = strlen(line_read);
+    ret = (char *) malloc(len + 1);
+    if (ret != NULL) {
+	memcpy (ret, line_read, len + 1);
+    }
+    return(ret);
 #endif
 }
 
-
 static void usershell(void) {
     char *cmdline = NULL, *cur;
     int nbargs;