Fix Wrong return values 67/234967/3
authorhj kim <backto.kim@samsung.com>
Mon, 1 Jun 2020 07:01:11 +0000 (16:01 +0900)
committerhj kim <backto.kim@samsung.com>
Mon, 1 Jun 2020 07:20:39 +0000 (16:20 +0900)
1. return METADATA_EDITOR_ERROR_INVALID_PARAMETER
if there is no tag when get or remove picture. because it means, picture index is wrong.

2. return METADATA_EDITOR_ERROR_NONE
if there is no tag when get metadata.

Change-Id: I831005c8b1116c421d03b7618b6503192bff3af2

src/metadata_editor.cpp

index 4d8efdc..c7bda60 100755 (executable)
@@ -224,7 +224,7 @@ static int __ID3_getNumberOfPictures(ID3v2::Tag *tag2, char **value)
 
 static int __ID3_getLyricsFrame(ID3v2::Tag *tag2, char **value)
 {
-       metadata_editor_retvm_if(!tag2, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Error. ID3v2 tag does not exist. Can not process further");
+       metadata_editor_retvm_if(!tag2, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
 
        auto lst = tag2->frameListMap()["USLT"];                // link to unsynchronized lyric frames in tag
        metadata_editor_retvm_if(lst.isEmpty(), METADATA_EDITOR_ERROR_NONE, "The frame USLT does not exist");
@@ -305,7 +305,7 @@ static int __ID3_setLyricsFrame(ID3v2::Tag *tag2, const char *value)
 
 static int __MP4_getStringItem(MP4::Tag *tag, const char *itemname, char **value)
 {
-       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Tag does not exist");
+       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
        metadata_editor_retvm_if(!itemname, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid  itemname");
 
        auto &itemMap = tag->itemListMap();
@@ -321,7 +321,7 @@ static int __MP4_getStringItem(MP4::Tag *tag, const char *itemname, char **value
 
 static int __MP4_getIntegerItem(MP4::Tag *tag, const char *itemname, char **value)
 {
-       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Tag does not exist");
+       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
        metadata_editor_retvm_if(!itemname, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid itemname");
 
        auto &itemMap = tag->itemListMap();
@@ -397,7 +397,7 @@ static int __MP4_getNumberOfPictures(MP4::Tag *tag, char **value)
 #if 0
 static int __xiph_getFieldValue(Ogg::XiphComment *xtag, const char *fieldname, char **value)
 {
-       metadata_editor_retvm_if(!xtag, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Tag does not exist");
+       metadata_editor_retvm_if(!xtag, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
        metadata_editor_retvm_if(!fieldname, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Invalid fieldname");
 
        auto &fieldMap = xtag->fieldListMap();
@@ -732,11 +732,7 @@ static int __metadata_editor_get_flac_metadata(metadata_editor_s *metadata, meta
        metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
 
        auto xtag = _file->xiphComment(false);
-       if (!xtag) {                                                                    // Check if we have a valid tag for processing
-               metadata_editor_error("Tag does not exist");
-               *value = NULL;
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
-       }
+
        switch (attribute) {                                    // Check which one of frame types was given to the function for processing
                case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_getFieldValue(xtag, "ARTIST", value);
                case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_getFieldValue(xtag, "TITLE", value);
@@ -768,11 +764,7 @@ static int __metadata_editor_get_ogg_vorbis_metadata(metadata_editor_s *metadata
        metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
 
        auto xtag = _file->tag();
-       if (!xtag) {                                                                    // Check if we have a valid tag for processing
-               metadata_editor_error("Tag does not exist");
-               *value = NULL;
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
-       }
+
        switch (attribute) {                                    // Check which one of frame types was given to the function for processing
                case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_getFieldValue(xtag, "ARTIST", value);
                case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_getFieldValue(xtag, "TITLE", value);
@@ -803,11 +795,7 @@ static int __metadata_editor_get_ogg_flac_metadata(metadata_editor_s *metadata,
        metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
 
        auto xtag = _file->tag();
-       if (!xtag) {                                                                    // Check if we have a valid tag for processing
-               metadata_editor_error("Tag does not exist");
-               *value = NULL;
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
-       }
+
        switch (attribute) {                                    // Check which one of frame types was given to the function for processing
                case METADATA_EDITOR_ATTR_ARTIST:                       return __xiph_getFieldValue(xtag, "ARTIST", value);
                case METADATA_EDITOR_ATTR_TITLE:                        return __xiph_getFieldValue(xtag, "TITLE", value);
@@ -838,11 +826,7 @@ static int __metadata_editor_get_wav_metadata(metadata_editor_s *metadata, metad
        metadata_editor_retvm_if(!_file, METADATA_EDITOR_ERROR_OPERATION_FAILED, "fail to dynamic_cast");
 
        auto tag2 = _file->tag();
-       if (tag2 == NULL) {                                                             // Check if we have a valid tag for processing
-               metadata_editor_error("Error. ID3v2 tag does not exist. Can not proceed metadata extraction");
-               *value = NULL;
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
-       }
+       metadata_editor_retvm_if(!tag2, METADATA_EDITOR_ERROR_NONE, "[No-Error] No tag");
 
        return __get_ID3_tag(attribute, NULL, tag2, value);
 }
@@ -1160,14 +1144,14 @@ static char * __get_mime_type_from_cover_art(const MP4::CoverArt& cover_art)
 
 static int __get_APIC(ID3v2::Tag *tag, int index, void **picture, int *size, char **mime_type)
 {
-       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Error. No ID3v2 tag in file.");
+       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Tag does not exist");
 
        auto lst = tag->frameListMap()["APIC"];
 
        // Check if there are pictures in the tag
        if (lst.isEmpty()) {
                metadata_editor_error("No pictures in file");
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
        }
 
        // Check if index is correct or not
@@ -1201,11 +1185,11 @@ static int __get_mp3_picture(metadata_editor_s *metadata, int index, void **pict
 static int __get_mp4_picture(metadata_editor_s *metadata, int index, void **picture, int *size, char **mime_type)
 {
        auto tag = dynamic_cast<MP4::Tag*>(metadata->file->tag());
-       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Tag does not exist");
+       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Tag does not exist");
 
        if (!(tag->contains("covr"))) {
                metadata_editor_error("No item <covr> in file. No pictures in file");
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
        }
 
        auto lst = tag->item("covr").toCoverArtList();
@@ -1238,7 +1222,7 @@ static int __get_flac_picture(metadata_editor_s *metadata, int index, void **pic
 
        if (lst.isEmpty()) {
                metadata_editor_error("No pictures in FLAC file");
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
        }
 
        // Check if the index is in range of CoverArtList Item
@@ -1384,7 +1368,7 @@ extern "C" int metadata_editor_append_picture(metadata_editor_h metadata, const
        metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "Invalid path");
 
        ret = __metadata_editor_get_picture_info(path, &picture, &size, &mime_type);
-       metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, METADATA_EDITOR_ERROR_PERMISSION_DENIED, "File does not exist or you have no rights to open it");
+       metadata_editor_retvm_if(ret != METADATA_EDITOR_ERROR_NONE, ret, "File does not exist or you have no rights to open it");
 
        switch (_metadata->filetype) {
                case METADATA_EDITOR_FORMAT_MP3:
@@ -1419,10 +1403,10 @@ extern "C" int metadata_editor_append_picture(metadata_editor_h metadata, const
 
 static int __remove_APIC(ID3v2::Tag *tag, int index)
 {
-       metadata_editor_retvm_if(tag == NULL, METADATA_EDITOR_ERROR_OPERATION_FAILED, "Error. ID3v2 tag was not created. Can not proceed metadata updating");
+       metadata_editor_retvm_if(!tag, METADATA_EDITOR_ERROR_INVALID_PARAMETER, "Tag does not exist");
 
        auto lst = tag->frameListMap()["APIC"];
-       metadata_editor_retvm_if(lst.isEmpty(), METADATA_EDITOR_ERROR_OPERATION_FAILED, "No pictures in file");
+       metadata_editor_retvm_if(lst.isEmpty(), METADATA_EDITOR_ERROR_INVALID_PARAMETER, "No pictures in file");
 
        if ((index < 0) || ((uint)index >= lst.size())) {
                metadata_editor_error("Index of picture is out of range");
@@ -1445,7 +1429,7 @@ static int __remove_mp4_picture(metadata_editor_s *metadata, int index)
 
        if (!(tag->contains("covr"))) {
                metadata_editor_error("No item <covr> in file. No pictures in file");
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
        }
 
        auto lst = tag->item("covr").toCoverArtList();
@@ -1476,7 +1460,7 @@ static int __remove_flac_picture(metadata_editor_s *metadata, int index)
 
        if (lst.isEmpty()) {
                metadata_editor_error("No pictures in file. Nothing to delete");
-               return METADATA_EDITOR_ERROR_OPERATION_FAILED;
+               return METADATA_EDITOR_ERROR_INVALID_PARAMETER;
        }
 
        // Check if the index is in range of CoverArtList Item