diff --git a/utils/MTP/Makefile b/utils/MTP/Makefile index 9cbacd85d6..6c709ec152 100644 --- a/utils/MTP/Makefile +++ b/utils/MTP/Makefile @@ -5,7 +5,7 @@ OUTPUT = sendfirm all: $(OUTPUT) $(OUTPUT): sendfirm.c - gcc $(CFLAGS) $(LIBS) -o $(OUTPUT) sendfirm.c + gcc $(CFLAGS) $(LIBS) -o $(OUTPUT) sendfirm.c || gcc $(CFLAGS) $(LIBS) -DOLDMTP -o $(OUTPUT) sendfirm.c $(OUTPUT).exe: sendfirm_win.c mingw32-gcc $(CFLAGS) -o $(OUTPUT).exe sendfirm_win.c MTP_DLL.dll diff --git a/utils/MTP/sendfirm.c b/utils/MTP/sendfirm.c index f06a398696..5fe970797e 100644 --- a/utils/MTP/sendfirm.c +++ b/utils/MTP/sendfirm.c @@ -31,18 +31,19 @@ #include #include #include +#include #include "libmtp.h" LIBMTP_mtpdevice_t *device; -static int progress(u_int64_t const sent, u_int64_t const total, +static int progress(uint64_t const sent, uint64_t const total, void const *const data) { int percent = (sent * 100) / total; #ifdef __WIN32__ printf("Progress: %I64u of %I64u (%d%%)\r", sent, total, percent); #else - printf("Progress: %llu of %llu (%d%%)\r", sent, total, percent); + printf("Progress: %"PRIu64" of %"PRIu64" (%d%%)\r", sent, total, percent); #endif fflush(stdout); return 0; @@ -64,7 +65,6 @@ int sendfile_function(char *from_path) #endif LIBMTP_file_t *genfile; int ret; - uint32_t parent_id = 0; #ifdef __USE_LARGEFILE64 if (stat64(from_path, &sb) == -1) @@ -90,8 +90,15 @@ int sendfile_function(char *from_path) genfile->filetype = LIBMTP_FILETYPE_FIRMWARE; printf("Sending file...\n"); + +#ifdef OLDMTP ret = LIBMTP_Send_File_From_File(device, from_path, genfile, progress, - NULL, parent_id); + NULL, 0); +#else + ret = LIBMTP_Send_File_From_File(device, from_path, genfile, progress, + NULL); +#endif + printf("\n"); if (ret != 0) {