summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/MTP/Makefile2
-rw-r--r--utils/MTP/sendfirm.c15
2 files changed, 12 insertions, 5 deletions
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
5all: $(OUTPUT) 5all: $(OUTPUT)
6 6
7$(OUTPUT): sendfirm.c 7$(OUTPUT): sendfirm.c
8 gcc $(CFLAGS) $(LIBS) -o $(OUTPUT) sendfirm.c 8 gcc $(CFLAGS) $(LIBS) -o $(OUTPUT) sendfirm.c || gcc $(CFLAGS) $(LIBS) -DOLDMTP -o $(OUTPUT) sendfirm.c
9 9
10$(OUTPUT).exe: sendfirm_win.c 10$(OUTPUT).exe: sendfirm_win.c
11 mingw32-gcc $(CFLAGS) -o $(OUTPUT).exe sendfirm_win.c MTP_DLL.dll 11 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 @@
31#include <sys/stat.h> 31#include <sys/stat.h>
32#include <sys/types.h> 32#include <sys/types.h>
33#include <fcntl.h> 33#include <fcntl.h>
34#include <inttypes.h>
34#include "libmtp.h" 35#include "libmtp.h"
35 36
36LIBMTP_mtpdevice_t *device; 37LIBMTP_mtpdevice_t *device;
37 38
38static int progress(u_int64_t const sent, u_int64_t const total, 39static int progress(uint64_t const sent, uint64_t const total,
39 void const *const data) 40 void const *const data)
40{ 41{
41 int percent = (sent * 100) / total; 42 int percent = (sent * 100) / total;
42#ifdef __WIN32__ 43#ifdef __WIN32__
43 printf("Progress: %I64u of %I64u (%d%%)\r", sent, total, percent); 44 printf("Progress: %I64u of %I64u (%d%%)\r", sent, total, percent);
44#else 45#else
45 printf("Progress: %llu of %llu (%d%%)\r", sent, total, percent); 46 printf("Progress: %"PRIu64" of %"PRIu64" (%d%%)\r", sent, total, percent);
46#endif 47#endif
47 fflush(stdout); 48 fflush(stdout);
48 return 0; 49 return 0;
@@ -64,7 +65,6 @@ int sendfile_function(char *from_path)
64#endif 65#endif
65 LIBMTP_file_t *genfile; 66 LIBMTP_file_t *genfile;
66 int ret; 67 int ret;
67 uint32_t parent_id = 0;
68 68
69#ifdef __USE_LARGEFILE64 69#ifdef __USE_LARGEFILE64
70 if (stat64(from_path, &sb) == -1) 70 if (stat64(from_path, &sb) == -1)
@@ -90,8 +90,15 @@ int sendfile_function(char *from_path)
90 genfile->filetype = LIBMTP_FILETYPE_FIRMWARE; 90 genfile->filetype = LIBMTP_FILETYPE_FIRMWARE;
91 91
92 printf("Sending file...\n"); 92 printf("Sending file...\n");
93
94#ifdef OLDMTP
95 ret = LIBMTP_Send_File_From_File(device, from_path, genfile, progress,
96 NULL, 0);
97#else
93 ret = LIBMTP_Send_File_From_File(device, from_path, genfile, progress, 98 ret = LIBMTP_Send_File_From_File(device, from_path, genfile, progress,
94 NULL, parent_id); 99 NULL);
100#endif
101
95 printf("\n"); 102 printf("\n");
96 if (ret != 0) 103 if (ret != 0)
97 { 104 {