void getfile_command(int argc, char **argv) { uint32_t id; char *endptr; char *file; if ( argc != 3 ) { getfile_usage(); return; } id = strtoul(argv[1], &endptr, 10); if ( *endptr != 0 ) { fprintf(stderr, "illegal value %s\n", argv[1]); return; } else if ( ! id ) { fprintf(stderr, "bad file/track id %u\n", id); return; } file = argv[2]; printf("Getting file/track %d to local file %s\n", id, file); if (LIBMTP_Get_File_To_File(device, id, file, progress, NULL) != 0 ) { printf("\nError getting file from MTP device.\n"); } printf("\n"); return; }
int getfile_command(int argc, char **argv) { uint32_t id; char *endptr; char *file; int ret = 0; // We need file ID and filename if ( argc != 3 ) { getfile_usage(); return 0; } // Sanity check song ID id = strtoul(argv[1], &endptr, 10); if ( *endptr != 0 ) { fprintf(stderr, "illegal value %s\n", argv[1]); return 1; } else if ( ! id ) { fprintf(stderr, "bad file/track id %u\n", id); return 1; } // Filename, e.g. "foo.mp3" file = argv[2]; printf("Getting file/track %d to local file %s\n", id, file); // This function will also work just as well for tracks. if (LIBMTP_Get_File_To_File(device, id, file, progress, NULL) != 0 ) { printf("\nError getting file from MTP device.\n"); ret = 1; } // Terminate progress bar. printf("\n"); return ret; }