Hi,
this patch removes the dependance on external cp/copy.

--- htdigest.c.orig-1   Sun Mar 14 19:07:20 2004
+++ htdigest.c          Sun Mar 14 19:21:40 2004
@@ -63,9 +63,9 @@
  * we need to close the file before we can copy it.
  * otherwise it's locked by the system ;-(
  *
- * XXX: Other systems affected? (Netware?, OS2?)
+ * XXX: Other systems affected? (OS2?)
  */
-#if (defined(WIN32))
+#if (defined(NETWARE))
 #define OMIT_DELONCLOSE 1
 #endif
 
@@ -303,18 +303,19 @@
        add_password(user, realm, tfp);
     }
     apr_file_close(f);
-#if defined(OS2) || defined(WIN32)
-    sprintf(command, "copy \"%s\" \"%s\"", dirname, argv[1]);
-#else
-    sprintf(command, "cp %s %s", dirname, argv[1]);
-#endif
-
 #ifdef OMIT_DELONCLOSE
     apr_file_close(tfp);
-    system(command);
+#endif
+    /* The temporary file has all the data, just copy it to the new location.
+     */
+    if (apr_file_copy(dirname, argv[1], APR_FILE_SOURCE_PERMS, cntxt) !=
+                APR_SUCCESS) {
+        fprintf(stderr, "%s: unable to update file %s\n", 
+                        argv[0], argv[1]);
+    }
+#ifdef OMIT_DELONCLOSE
     apr_file_remove(dirname, cntxt);
 #else
-    system(command);
     apr_file_close(tfp);
 #endif


Guenter.

Attachment: htdigest.c.diff-2
Description: Binary data

Reply via email to