Fixed some bugs courtesy of Flavien Lebarbe
diff --git a/ChangeLog b/ChangeLog
index 40d82aa..ee77205 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-05-30 Flavien Lebarbe <flavien+libmtp@lebarbe.net>
+
+ * src/libmtp.c: fixed a bug in update metadata due to
+ bad use of return code.
+ * src/libusb-glue.c: fixed a loop exiting problem with
+ good 'ol GOTO.
+
2006-05-29 Linus Walleij <triad@df.lth.se>
* src/libusb-glue.c: one more device.
diff --git a/src/libmtp.c b/src/libmtp.c
index 117ddb1..d735ada 100644
--- a/src/libmtp.c
+++ b/src/libmtp.c
@@ -1959,28 +1959,28 @@
// Update title
ret = LIBMTP_Set_Object_String(device, metadata->item_id, PTP_OPC_Name, metadata->title,1);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track title\n");
return -1;
}
// Update album
ret = LIBMTP_Set_Object_String(device, metadata->item_id, PTP_OPC_AlbumName, metadata->album,1);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track album name\n");
return -1;
}
// Update artist
ret = LIBMTP_Set_Object_String(device, metadata->item_id, PTP_OPC_Artist, metadata->artist,1);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track artist name\n");
return -1;
}
// Update genre
ret = LIBMTP_Set_Object_String(device, metadata->item_id, PTP_OPC_Artist, metadata->genre,1);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track genre name\n");
return -1;
}
@@ -1988,7 +1988,7 @@
// Update duration
if (metadata->duration != 0) {
ret = LIBMTP_Set_Object_U32(device, metadata->item_id, PTP_OPC_Duration, metadata->duration);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track duration\n");
return -1;
}
@@ -1997,7 +1997,7 @@
// Update track number.
if (metadata->tracknumber != 0) {
ret = LIBMTP_Set_Object_U16(device, metadata->item_id, PTP_OPC_Track, metadata->tracknumber);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track tracknumber\n");
return -1;
}
@@ -2005,7 +2005,7 @@
// Update creation datetime
ret = LIBMTP_Set_Object_String(device, metadata->item_id, PTP_OPC_OriginalReleaseDate, metadata->date,0);
- if (ret != PTP_RC_OK) {
+ if (ret != 0) {
printf("LIBMTP_Update_Track_Metadata(): could not set track release date\n");
return -1;
}
diff --git a/src/libusb-glue.c b/src/libusb-glue.c
index c451888..3c57e89 100644
--- a/src/libusb-glue.c
+++ b/src/libusb-glue.c
@@ -516,6 +516,7 @@
dev->descriptor.idProduct == mtp_device->product_id ) {
printf("Found non-autodetected device \"%s\" on USB bus...\n", mtp_device->name);
+ goto next_step;
}
}
@@ -523,6 +524,7 @@
}
}
+next_step:
// Still not found any?
if (dev == NULL) {
return PTP_CD_RC_NO_DEVICES;