Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(117)

Unified Diff: examples/sendtr.c

Issue 2345493002: Uprev libmtp to 1.1.12 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libmtp@master
Patch Set: Re-upload cl Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « examples/folders.c ('k') | examples/thumb.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: examples/sendtr.c
diff --git a/examples/sendtr.c b/examples/sendtr.c
index 8c4b1b54d1ffb5720d2a4aab7427b95cb9f64fec..a608d1514c40c8351efb59d620d48a298fd4540b 100644
--- a/examples/sendtr.c
+++ b/examples/sendtr.c
@@ -186,6 +186,7 @@ int sendtrack_function(char * from_path, char * to_path, char *partist, char *pa
{
char *filename, *parent;
char artist[80], albumartist[80], title[80], genre[80], album[80], composer[80];
+ char *to_path_copy = NULL;
char num[80];
uint64_t filesize;
uint32_t parent_id = 0;
@@ -196,30 +197,37 @@ int sendtrack_function(char * from_path, char * to_path, char *partist, char *pa
printf("Sending track %s to %s\n", from_path, to_path);
- trackmeta = LIBMTP_new_track_t();
- albuminfo = LIBMTP_new_album_t();
-
- parent = dirname(strdup(to_path));
- filename = basename(strdup(to_path));
+ to_path_copy = strdup(to_path);
+ parent = dirname(to_path_copy);
parent_id = parse_path (parent,files,folders);
if (parent_id == -1) {
+ free (to_path_copy);
printf("Parent folder could not be found, skipping\n");
return 1;
}
+ strcpy (to_path_copy,to_path);
+ filename = basename(to_path_copy);
if (stat(from_path, &sb) == -1) {
fprintf(stderr, "%s: ", from_path);
perror("stat");
+ free (to_path_copy);
return 1;
}
- if (!S_ISREG(sb.st_mode))
+ if (!S_ISREG(sb.st_mode)) {
+ free (to_path_copy);
return 0;
+ }
filesize = sb.st_size;
+
+ trackmeta = LIBMTP_new_track_t();
trackmeta->filetype = find_filetype (from_path);
if (!LIBMTP_FILETYPE_IS_TRACK(trackmeta->filetype)) {
printf("Not a valid track codec: \"%s\"\n", LIBMTP_Get_Filetype_Description(trackmeta->filetype));
+ LIBMTP_destroy_track_t(trackmeta);
+ free (to_path_copy);
return 1;
}
@@ -283,6 +291,9 @@ int sendtrack_function(char * from_path, char * to_path, char *partist, char *pa
printf("Title: %s\n", ptitle);
trackmeta->title = strdup(ptitle);
}
+
+ albuminfo = LIBMTP_new_album_t();
+
if (palbum) {
printf("Album: %s\n", palbum);
trackmeta->album = strdup(palbum);
@@ -371,12 +382,13 @@ int sendtrack_function(char * from_path, char * to_path, char *partist, char *pa
LIBMTP_destroy_album_t(albuminfo);
LIBMTP_destroy_track_t(trackmeta);
+ free (to_path_copy);
return ret;
}
int sendtrack_command (int argc, char **argv) {
- int opt;
+ int opt, ret;
extern int optind;
extern char *optarg;
char *partist = NULL;
@@ -394,24 +406,31 @@ int sendtrack_command (int argc, char **argv) {
while ( (opt = getopt(argc, argv, "qD:t:a:A:w:l:c:g:n:d:y:s:")) != -1 ) {
switch (opt) {
case 't':
+ free (ptitle);
ptitle = strdup(optarg);
break;
case 'a':
+ free (partist);
partist = strdup(optarg);
break;
case 'A':
+ free (palbumartist);
palbumartist = strdup(optarg);
break;
case 'w':
+ free (pcomposer);
pcomposer = strdup(optarg);
break;
case 'l':
+ free (palbum);
palbum = strdup(optarg);
break;
case 'c':
+ free (pcodec);
pcodec = strdup(optarg); // FIXME: DSM check for MP3, WAV or WMA
break;
case 'g':
+ free (pgenre);
pgenre = strdup(optarg);
break;
case 'n':
@@ -439,11 +458,18 @@ int sendtrack_command (int argc, char **argv) {
if ( argc != 2 ) {
printf("You need to pass a filename and destination.\n");
sendtrack_usage();
- return 0;
- }
-
- checklang();
-
- printf("%s,%s,%s,%s,%s,%s,%s,%s,%d%d,%d,%u,%d\n",argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer,tracknum, length, year, storageid, quiet);
- return sendtrack_function(argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer, tracknum, length, year, storageid, quiet);
+ ret = 0;
+ } else {
+ checklang();
+ printf("%s,%s,%s,%s,%s,%s,%s,%s,%d%d,%d,%u,%d\n",argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer,tracknum, length, year, storageid, quiet);
+ ret = sendtrack_function(argv[0],argv[1],partist,palbumartist,ptitle,pgenre,palbum,pcomposer, tracknum, length, year, storageid, quiet);
+ }
+ free (ptitle);
+ free (partist);
+ free (palbumartist);
+ free (pcomposer);
+ free (palbum);
+ free (pcodec);
+ free (pgenre);
+ return ret;
}
« no previous file with comments | « examples/folders.c ('k') | examples/thumb.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698