]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
config.c: Fix successful DELETE treated as failure
authorAlexei Gradinari <alex2grad@gmail.com>
Fri, 18 May 2018 21:45:22 +0000 (17:45 -0400)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 21 May 2018 22:23:56 +0000 (16:23 -0600)
The config engine destroy_func callback function returns the number of
rows deleted or -1 on error.  But the function
ast_destroy_realtime_fields treated non-zero return values as error.

ASTERISK-27863

Change-Id: Ied02b38e8196cb03043e609a0679feebd288d17b

main/config.c

index da6d6f108fe34330c3d37f04df502eff89f6c280..12f8739967ec539d1b28d71706689f8102ad3714 100644 (file)
@@ -3577,7 +3577,7 @@ int ast_destroy_realtime_fields(const char *family, const char *keyfield, const
 
        for (i = 1; ; i++) {
                if ((eng = find_engine(family, i, db, sizeof(db), table, sizeof(table)))) {
-                       if (eng->destroy_func && !(res = eng->destroy_func(db, table, keyfield, lookup, fields))) {
+                       if (eng->destroy_func && ((res = eng->destroy_func(db, table, keyfield, lookup, fields)) >= 0)) {
                                break;
                        }
                } else {