Exemple #1
0
/** 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;
}
Exemple #2
0
/* 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;
}