summaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2009-02-07 21:00:18 +0000
committerNils Wallménius <nils@rockbox.org>2009-02-07 21:00:18 +0000
commitef726cee6721f4a81951161c3d93347d4362d3d2 (patch)
tree1f73ade6dcdf4a8ae41a026e261ba58543d4fa45 /utils
parent7ae9c8d5ced6f9693c8b773f3614249a944f42ad (diff)
downloadrockbox-ef726cee6721f4a81951161c3d93347d4362d3d2.tar.gz
rockbox-ef726cee6721f4a81951161c3d93347d4362d3d2.tar.bz2
rockbox-ef726cee6721f4a81951161c3d93347d4362d3d2.zip
Fix compilation of sendfirm with 0.3.x versions of libmtp and keep a (hacky) fallback for building with the older 0.2.x also fix a pair of 64 bit warnings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19941 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'utils')
-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
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 <sys/stat.h>
#include <sys/types.h>
#include <fcntl.h>
+#include <inttypes.h>
#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, 0);
+#else
ret = LIBMTP_Send_File_From_File(device, from_path, genfile, progress,
- NULL, parent_id);
+ NULL);
+#endif
+
printf("\n");
if (ret != 0)
{