Example #1
0
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;
}
Example #2
0
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;
}