TILP_EXPORT void action_rename_clicked(GtkButton * button, gpointer user_data) { GtkTreeModel *model = GTK_TREE_MODEL(list); GtkTreeIter iter; gboolean valid; for (valid = gtk_tree_model_get_iter_first(model, &iter); valid; valid = gtk_tree_model_iter_next(model, &iter)) { FileEntry *f; FileContent *c; VarEntry *v; VarEntry *w; int n; gchar *new_name = NULL; gchar **row_text = g_malloc0(5 * sizeof(gchar *)); char *trans; char full_name[260]; gtk_tree_model_get(model, &iter, COLUMN_DATA_F, &f, COLUMN_DATA_V, &v, COLUMN_DATA_N, &n, -1); if (!f->selected) continue; // get new name c = f->content1; new_name = gif->msg_entry(_("Rename the file"), _("New name: "), tifiles_get_varname(v->name)); if (new_name == NULL) continue; // check that new varname does not exist tifiles_build_fullname(options.calc_model, full_name, v->folder, new_name); g_free(new_name); w = ticalcs_dirlist_ve_exist(remote.var_tree, v); // update action v->attr = (w != NULL) ? w->attr : ATTRB_NONE; v->action = (v->attr != ATTRB_NONE) ? ACT_SKIP : ACT_RENAME; // update var entry strncpy(v->folder, tifiles_get_fldname(full_name), 8); v->folder[8] = 0; strncpy(v->name, tifiles_get_varname(full_name), 8); v->name[8] = 0; trans = ticonv_varname_to_utf8(options.calc_model, (const char *)v->name, v->type); // update entry row_text[0] = g_strdup(trans); g_free(trans); row_text[1] = g_strdup(tifiles_attribute_to_string(v->attr)); row_text[3] = g_strdup(action2string(v->action)); gtk_list_store_set(list, &iter, COLUMN_VAR, row_text[0], COLUMN_ATTR, row_text[1], COLUMN_ACTION, row_text[3], -1); g_strfreev(row_text); //bug } }
TIEXPORT3 int TICALL ti89_recv_VAR(CalcHandle* handle, uint32_t * varsize, uint8_t * vartype, char *varname) { uint8_t host, cmd; uint8_t *buffer; uint16_t length; uint8_t strl; uint8_t flag; char * varname_nofldname; int ret; VALIDATE_HANDLE(handle); VALIDATE_NONNULL(varsize); VALIDATE_NONNULL(vartype); VALIDATE_NONNULL(varname); buffer = (uint8_t *)handle->buffer; ret = dbus_recv(handle, &host, &cmd, &length, buffer); if (ret) { return ret; } if (cmd == DBUS_CMD_EOT) { ticalcs_info(" TI->PC: EOT"); return ERR_EOT; // not really an error } if (cmd == DBUS_CMD_SKP) { return ERR_CALC_ERROR1 + err_code(buffer); } if (cmd != DBUS_CMD_VAR) { return ERR_INVALID_CMD; } *varsize = buffer[0] | (((uint32_t)buffer[1]) << 8) | (((uint32_t)buffer[2]) << 16) | (((uint32_t)buffer[3]) << 24); *vartype = buffer[4]; strl = buffer[5]; memcpy(varname, buffer + 6, strl); varname[strl] = '\0'; flag = buffer[6 + strl]; if ((length != (6 + strlen(varname))) && (length != (7 + strlen(varname)))) { return ERR_INVALID_PACKET; } ticalcs_info(" TI->PC: VAR (size=0x%08X=%i, id=%02X, name=%s, flag=%i)", *varsize, *varsize, *vartype, varname, flag); varname_nofldname = tifiles_get_varname(varname); if (varname_nofldname != varname) { // This variable name contains a folder name. Erase it. ticalcs_info(" TI->PC: VAR: the variable name contains a folder name, stripping it."); memmove(varname, varname_nofldname, strlen(varname_nofldname)+1); } return 0; }
/* Variable (std var header: variable length) */ int ti89_recv_VAR_h(CalcHandle* handle, uint32_t * varsize, uint8_t * vartype, char *varname) { uint8_t host, cmd; uint8_t *buffer = (uint8_t *)handle->priv2; uint16_t length; uint8_t strl; uint8_t flag; char * varname_nofldname; TRYF(dbus_recv(handle, &host, &cmd, &length, buffer)); if (cmd == CMD_EOT) return ERR_EOT; // not really an error if (cmd == CMD_SKP) return ERR_CALC_ERROR1 + err_code(buffer); if (cmd != CMD_VAR) return ERR_INVALID_CMD; *varsize = buffer[0] | (buffer[1] << 8) | (buffer[2] << 16) | (buffer[3] << 24); *vartype = buffer[4]; strl = buffer[5]; memcpy(varname, buffer + 6, strl); varname[strl] = '\0'; flag = buffer[6 + strl]; if ((length != (6 + strlen(varname))) && (length != (7 + strlen(varname)))) return ERR_INVALID_PACKET; ticalcs_info(" TI->PC: VAR (size=0x%08X=%i, id=%02X, name=%s, flag=%i)", *varsize, *varsize, *vartype, varname, flag); varname_nofldname = tifiles_get_varname(varname); if (varname_nofldname != varname) { // This variable name contains a folder name. Erase it. ticalcs_info(" TI->PC: VAR: the variable name contains a folder name, stripping it."); memmove(varname, varname_nofldname, strlen(varname_nofldname)+1); } return 0; }
// The main function int main(int argc, char **argv) { char *msg = NULL; char buffer[256]; int i; int ret; // init library tifiles_library_init(); // test tifiles.c printf("Library version : <%s>\n", tifiles_version_get()); printf("--\n"); // test error.c tifiles_error_get(515, &msg); printf("Error message: <%s>\n", msg); #ifndef __WIN32__ free(msg); #endif printf("--\n"); // test type2str.c printf("tifiles_string_to_model: <%i> <%i>\n", CALC_TI92, tifiles_string_to_model(tifiles_model_to_string(CALC_TI92))); printf("tifiles_string_to_attribute: <%i> <%i>\n", ATTRB_LOCKED, tifiles_string_to_attribute(tifiles_attribute_to_string(ATTRB_LOCKED))); printf("tifiles_string_to_class: <%i> <%i>\n", TIFILE_SINGLE, tifiles_string_to_class(tifiles_class_to_string(TIFILE_SINGLE))); printf("--\n"); // test filetypes.c for(i = CALC_TI73; i <= CALC_V200; i++) { printf("%s (%i) ", tifiles_fext_of_group(i), i); } printf("\n"); for(i = CALC_TI73; i <= CALC_V200; i++) { printf("%s ", tifiles_fext_of_backup(i)); } printf("\n"); for(i = CALC_TI73; i <= CALC_V200; i++) { printf("%s ", tifiles_fext_of_flash_os(i)); } printf("\n"); for(i = CALC_TI73; i <= CALC_V200; i++) { printf("%s ", tifiles_fext_of_flash_app(i)); } printf("\n"); printf("--\n"); printf("<%s> <%s>\n", "foo.bar", tifiles_fext_get("foo.bar")); ret = tifiles_file_is_ti(PATH("misc/str.92s")); printf("tifiles_file_is_ti: %i\n", ret); ret = tifiles_file_is_single(PATH("misc/str.92s")); printf("tifiles_file_is_single: %i\n", ret); ret = tifiles_file_is_group(PATH("misc/group.92g")); printf("tifiles_file_is_group: %i\n", ret); ret = tifiles_file_is_regular(PATH("misc/str.92s")); printf("tifiles_file_is_regular: %i\n", ret); ret = tifiles_file_is_regular(PATH("misc/group.92g")); printf("tifiles_file_is_regular: %i\n", ret); ret = tifiles_file_is_backup(PATH("misc/backup.83b")); printf("tifiles_file_is_backup: %i\n", ret); ret = tifiles_file_is_flash(PATH("misc/ticabfra.89k")); printf("tifiles_file_is_flash: %i\n", ret); ret = tifiles_file_is_flash(PATH("misc/TI73_OS160.73U")); printf("tifiles_file_is_flash: %i\n", ret); ret = tifiles_file_is_tib(PATH("misc/ams100.tib")); printf("tifiles_file_is_tib: %i\n", ret); ret = tifiles_file_is_tigroup(PATH("misc/test.tig")); printf("tifiles_file_is_tigroup: %i\n", ret); printf("--\n"); // test typesxx.c printf("tifiles_file_get_model: %s\n", tifiles_model_to_string(tifiles_file_get_model(PATH("misc/str.92s")))); printf("tifiles_file_get_class: %s\n", tifiles_class_to_string(tifiles_file_get_class(PATH("misc/group.92g")))); printf("tifiles_file_get_type: %s\n", tifiles_file_get_type(PATH("misc/TI73_OS160.73U"))); printf("tifiles_file_get_icon: %s\n", tifiles_file_get_icon(PATH("misc/str.92s"))); printf("--\n"); // test misc.c printf("tifiles_calc_is_ti8x: %i\n", tifiles_calc_is_ti8x(CALC_TI83)); printf("tifiles_calc_is_ti9x: %i\n", tifiles_calc_is_ti9x(CALC_TI89)); printf("tifiles_has_folder: %i\n", tifiles_has_folder(CALC_TI92)); printf("tifiles_is_flash: %i\n", tifiles_is_flash(CALC_TI73)); printf("tifiles_get_varname: <%s>\n", tifiles_get_varname("fld\\var")); printf("tifiles_get_fldname: <%s>\n", tifiles_get_fldname("fld\\var")); tifiles_build_fullname(CALC_TI89, buffer, "fld", "var"); printf("tifiles_build_fullname: <%s>\n", buffer); printf("--\n"); // test filesxx.c & grouped.c do { // TI73 support change_dir(PATH("ti73")); ret = test_ti73_backup_support(); if (ret) break; ret = test_ti73_regular_support(); if (ret) break; ret = test_ti73_group_support(); if (ret) break; ret = test_ti73_ungroup_support(); if (ret) break; // TI82 support change_dir(PATH("ti82")); ret = test_ti82_backup_support(); if (ret) break; ret = test_ti82_regular_support(); if (ret) break; ret = test_ti82_group_support(); if (ret) break; ret = test_ti82_ungroup_support(); if (ret) break; // TI83 support change_dir(PATH("ti83")); ret = test_ti83_backup_support(); if (ret) break; ret = test_ti83_regular_support(); if (ret) break; ret = test_ti83_group_support(); if (ret) break; ret = test_ti83_ungroup_support(); if (ret) break; // TI84+ support change_dir(PATH("ti84p")); ret = test_ti84p_regular_support(); if (ret) break; ret = test_ti84p_group_support(); if (ret) break; ret = test_ti84p_ungroup_support(); if (ret) break; ret = test_ti84p_flash_support(); if (ret) break; // TI85 support change_dir(PATH("ti85")); ret = test_ti85_regular_support(); if (ret) break; // TI86 support change_dir(PATH("ti86")); ret = test_ti86_backup_support(); if (ret) break; ret = test_ti86_regular_support(); if (ret) break; ret = test_ti86_group_support(); if (ret) break; ret = test_ti86_ungroup_support(); if (ret) break; // TI89 support change_dir(PATH("ti89")); ret = test_ti89_regular_support(); if (ret) break; ret = test_ti89_flash_support(); if (ret) break; ret = test_v200_regular_support(); if (ret) break; // TI92 support change_dir(PATH("ti92")); ret = test_ti92_backup_support(); if (ret) break; ret = test_ti92_regular_support(); if (ret) break; ret = test_ti92_group_support(); if (ret) break; ret = test_ti92_ungroup_support(); if (ret) break; // TIXX certificates change_dir(PATH("certs")); ret = test_ti8x_cert_support(); if (ret) break; ret = test_ti9x_cert_support(); if (ret) break; // Add/Del files change_dir(PATH("misc")); ret = test_ti8x_group_merge(); if (ret) break; change_dir(PATH("tig")); ret = test_tigroup(); } while(0); // end of test tifiles_library_exit(); return ret; }