00001 00023 #include "common.h" 00024 #include "pathutils.h" 00025 #include <libgen.h> 00026 00027 void newfolder_function(char *); 00028 void newfolder_command(int,char **); 00029 00030 extern LIBMTP_folder_t *folders; 00031 extern LIBMTP_file_t *files; 00032 extern LIBMTP_mtpdevice_t *device; 00033 00034 void newfolder_command (int argc, char **argv) 00035 { 00036 uint32_t newid; 00037 00038 if(argc != 3) { 00039 printf("Usage: newfolder name <parent> <storage>\n"); 00040 printf(" parent = parent folder or 0 to create the new folder in the root dir\n"); 00041 printf(" storage = storage id or 0 to create the new folder on the primary storage\n"); 00042 return; 00043 } 00044 00045 newid = LIBMTP_Create_Folder(device, argv[1], atol(argv[2]), atol(argv[3])); 00046 if (newid == 0) { 00047 printf("Folder creation failed.\n"); 00048 } else { 00049 printf("New folder created with ID: %d\n", newid); 00050 } 00051 } 00052 00053 void 00054 newfolder_function(char * path) 00055 { 00056 printf("Creating new folder %s\n",path); 00057 char * parent = dirname(path); 00058 char * folder = basename(path); 00059 int id = parse_path (parent,files,folders); 00060 int newid = LIBMTP_Create_Folder(device, folder, id, 0); 00061 if (newid == 0) { 00062 printf("Folder creation failed.\n"); 00063 LIBMTP_Dump_Errorstack(device); 00064 LIBMTP_Clear_Errorstack(device); 00065 } else { 00066 printf("New folder created with ID: %d\n", newid); 00067 } 00068 } 00069