static int rename_var (CalcHandle* handle, VarRequest* oldname, VarRequest* newname) { char *utf81, *utf82; char *path1, *path2; int ret; ret = nsp_session_open(handle, NSP_SID_FILE_MGMT); if (ret) { return ret; } path1 = build_path(handle->model, oldname); path2 = build_path(handle->model, newname); utf81 = ticonv_varname_to_utf8(handle->model, path1, oldname->type); utf82 = ticonv_varname_to_utf8(handle->model, path2, newname->type); ticalcs_slprintf(update_->text, sizeof(update_->text), _("Renaming %s to %s..."), utf81, utf82); ticonv_utf8_free(utf82); ticonv_utf8_free(utf81); update_label(); ret = nsp_cmd_s_rename_file(handle, path1, path2); g_free(path2); g_free(path1); if (!ret) { ret = nsp_cmd_r_rename_file(handle); } DO_CLOSE_SESSION(handle); return ret; }
static int rename_var (CalcHandle* handle, VarRequest* oldname, VarRequest* newname) { char *utf81, *utf82; char *path1, *path2; int err; const char * dot_if_any = "."; TRYF(nsp_session_open(handle, SID_FILE_MGMT)); // Don't add a dot if this file type is unknown. if (oldname->type >= NSP_MAXTYPES) dot_if_any = ""; path1 = g_strconcat("/", oldname->folder, "/", oldname->name, dot_if_any, tifiles_vartype2fext(handle->model, oldname->type), NULL); dot_if_any = "."; // Don't add a dot if this file type is unknown. if (oldname->type >= NSP_MAXTYPES) dot_if_any = ""; path2 = g_strconcat("/", newname->folder, "/", newname->name, dot_if_any, tifiles_vartype2fext(handle->model, newname->type), NULL); utf81 = ticonv_varname_to_utf8(handle->model, path1, oldname->type); utf82 = ticonv_varname_to_utf8(handle->model, path2, newname->type); g_snprintf(update_->text, sizeof(update_->text), _("Renaming %s to %s..."), utf81, utf82); g_free(utf82); g_free(utf81); update_label(); err = nsp_cmd_s_rename_file(handle, path1, path2); g_free(path2); g_free(path1); if (err) { return err; } TRYF(nsp_cmd_r_rename_file(handle)); TRYF(nsp_session_close(handle)); return 0; }