diff --git a/dap-sdk b/dap-sdk index 26f3dec199f975c29b7b8c241c108065e18e16ee..04ef13ca16b33048a548e83bed29696e9cffc9d0 160000 --- a/dap-sdk +++ b/dap-sdk @@ -1 +1 @@ -Subproject commit 26f3dec199f975c29b7b8c241c108065e18e16ee +Subproject commit 04ef13ca16b33048a548e83bed29696e9cffc9d0 diff --git a/modules/net/dap_chain_node_cli_cmd.c b/modules/net/dap_chain_node_cli_cmd.c index 23fedc849928fd2605f22fcadfa9e9c5d1e55051..711ee60bad26694a29ff245f13d0401ce5f926b8 100644 --- a/modules/net/dap_chain_node_cli_cmd.c +++ b/modules/net/dap_chain_node_cli_cmd.c @@ -2270,11 +2270,7 @@ char l_buf[1024]; } // create wallet backup dap_chain_wallet_internal_t* l_file_name = DAP_CHAIN_WALLET_INTERNAL(l_wallet); - time_t l_rawtime; // add timestamp to filename - char l_timestamp[16]; - time(&l_rawtime); - strftime(l_timestamp,16,"%G%m%d%H%M%S", localtime (&l_rawtime)); - snprintf(l_file_name->file_name, sizeof(l_file_name->file_name) - 1, "%s/%s_%s%s", c_wallets_path, l_wallet_name, l_timestamp,".backup"); + snprintf(l_file_name->file_name, sizeof(l_file_name->file_name) - 1, "%s/%s_%012lu%s", c_wallets_path, l_wallet_name, time(NULL),".backup"); if ( dap_chain_wallet_save(l_wallet, NULL) ) { dap_cli_server_cmd_set_reply_text(a_str_reply, "Can't create backup wallet file because of internal error"); return -1; diff --git a/modules/wallet/dap_chain_wallet.c b/modules/wallet/dap_chain_wallet.c index 451ca8334b569eeb228de91349c352f601f05ebe..c9d6313e017a2c73256953f845bbe1c1bb7e095b 100644 --- a/modules/wallet/dap_chain_wallet.c +++ b/modules/wallet/dap_chain_wallet.c @@ -601,11 +601,14 @@ if ( a_pass ) return log_it(L_ERROR, "Error create key context"), -EINVAL; #ifdef DAP_OS_WINDOWS - if ((l_fh = CreateFile(l_wallet_internal->file_name, GENERIC_WRITE, /*FILE_SHARE_READ | FILE_SHARE_WRITE */ 0, NULL, CREATE_NEW, - /*FILE_FLAG_RANDOM_ACCESS | FILE_FLAG_OVERLAPPED | FILE_FLAG_NO_BUFFERING*/ 0, NULL)) == INVALID_HANDLE_VALUE) { + l_fh = CreateFile(l_wallet_internal->file_name, GENERIC_WRITE, /*FILE_SHARE_READ | FILE_SHARE_WRITE */ 0, NULL, CREATE_ALWAYS, + /*FILE_FLAG_RANDOM_ACCESS | FILE_FLAG_OVERLAPPED | FILE_FLAG_NO_BUFFERING*/ 0, NULL); + if (l_fh != INVALID_HANDLE_VALUE) { + SetEndOfFile(l_fh); + } else { l_err = GetLastError(); #else - if ( 0 > (l_fh = open(l_wallet_internal->file_name , O_CREAT | O_WRONLY, s_fileprot)) ) { + if ( 0 > (l_fh = open(l_wallet_internal->file_name , O_CREAT | O_WRONLY | O_TRUNC, s_fileprot)) ) { l_err = errno; #endif return log_it(L_ERROR, "Cant open file %s for writing, errno=%"DAP_FORMAT_ERRNUM,