]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - aft.c
Merge branch 'maint'
[paraslash.git] / aft.c
diff --git a/aft.c b/aft.c
index acf751566c61d82e23cc34565c1189f2db147917..c4558f2040ac67e0a613177b786438a038f5bcc5 100644 (file)
--- a/aft.c
+++ b/aft.c
@@ -1876,8 +1876,10 @@ static int add_one_audio_file(const char *path, void *private_data)
        unsigned char hash[HASH_SIZE];
 
        ret = guess_audio_format(path);
-       if (ret < 0 && !(pad->flags & ADD_FLAG_ALL))
+       if (ret < 0 && !(pad->flags & ADD_FLAG_ALL)) {
+               ret = 0;
                goto out_free;
+       }
        query.data = (char *)path;
        query.size = strlen(path) + 1;
        ret = send_callback_request(path_brother_callback, &query,
@@ -2546,8 +2548,10 @@ static void com_setatt_callback(int fd, const struct osl_object *query)
                        break;
                p[len - 1] = '\0';
                ret = get_attribute_bitnum_by_name(p, &bitnum);
-               if (ret < 0)
+               if (ret < 0) {
+                       para_printf(&cad.pb, "attribute not found: %s\n", p);
                        goto out;
+               }
                if (c == '+')
                        cad.add_mask |= (1UL << bitnum);
                else
@@ -2557,7 +2561,8 @@ static void com_setatt_callback(int fd, const struct osl_object *query)
        if (!cad.add_mask && !cad.del_mask)
                goto out;
        pmd.patterns.data = p;
-       assert(p < (char *)query->data + query->size);
+       if (p >= (char *)query->data + query->size)
+               goto out;
        pmd.patterns.size = (char *)query->data + query->size - p;
        ret = for_each_matching_row(&pmd);
        if (ret < 0)
@@ -2718,9 +2723,9 @@ static int aft_open(const char *dir)
                PARA_INFO_LOG("audio file table contains %d files\n", num);
                return ret;
        }
-       PARA_INFO_LOG("failed to open audio file table\n");
+       PARA_NOTICE_LOG("failed to open audio file table\n");
        audio_file_table = NULL;
-       if (ret >= 0 || ret == -OSL_ERRNO_TO_PARA_ERROR(E_OSL_NOENT))
+       if (ret == -OSL_ERRNO_TO_PARA_ERROR(E_OSL_NOENT))
                return 1;
        return ret;
 }