* 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 0
#define OMIT_DELONCLOSE 1
#endif
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