diff options
Diffstat (limited to 'support/htdigest.c')
-rw-r--r-- | support/htdigest.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/support/htdigest.c b/support/htdigest.c index 56917d5928..d5cd0f04d0 100644 --- a/support/htdigest.c +++ b/support/htdigest.c @@ -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 0 #define OMIT_DELONCLOSE 1 #endif @@ -303,18 +303,19 @@ int main(int argc, const char * const argv[]) 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 |