/** 0:server * 1:local */ char *change_same_name(char *localpath, int index, int flag) { printf("###################change same name...##################\n"); int i = 1; char *filename = NULL; char *new_path = NULL; char *path = NULL; char temp[256] = {0}; char suffix[6] = {0}; char *p = localpath; p = p + strlen(localpath); while(p[0] != '/' && strlen(p) < strlen(localpath)) p--; filename = my_malloc(strlen(p) + 1); sprintf(filename, "%s", p + 1); path = my_malloc(strlen(localpath) - strlen(p) + 1); snprintf(path, strlen(localpath) - strlen(p) + 1, "%s", localpath); //printf("%s, %s\n", path, filename); int exit = 1; while(exit) { int n = i; int j = 0; while((n = (n / 10))) { j++; } memset(temp, '\0', sizeof(temp)); snprintf(temp, 252 - j, "%s", filename); sprintf(suffix, "(%d)", i); char *new_name = insert_suffix(temp, suffix); //printf("new_name = %s\n", new_name); i++; new_path = my_malloc(strlen(path) + strlen(new_name) + 2); sprintf(new_path, "%s/%s", path, new_name); //printf("new_path = %s\n", new_path); if(flag == 0) exit = is_server_exist(new_path, index); else if(flag == 1){ if(access(new_path, F_OK) != 0) exit = 0; } free(new_name); } free(path); free(filename); printf("new_path = %s\n", new_path); return new_path; }
/* unlink (file) */ int SMB_rm(char *localpath, int index) { printf("SMB_rm() - %s start\n", localpath); int res = 0; int exsit = is_server_exist(localpath, index); if(!exsit) return res; char *serverpath = localpath_to_serverpath(localpath, index); res = SMB_del(serverpath, index); free(serverpath); return res; }