talloc_string_sub2: Don't return NULL if src is empty.
authorKarolin Seeger <kseeger@samba.org>
Wed, 23 Jul 2008 15:07:56 +0000 (17:07 +0200)
committerKarolin Seeger <kseeger@samba.org>
Fri, 25 Jul 2008 07:53:26 +0000 (09:53 +0200)
This fixes BUG #5635.

Finished print jobs were not removed from the $PRINTER.tdb file if
"printing=cups".

In print_queue_update, talloc_string_sub2 is used to assemble the
"lprm command". In the case of using "printing=cups", the default
"lprm command" is an empty string. talloc_string_sub2 is called with
this empty string and returns NULL which leads to exiting
print_queue_update without doing the actual print queue update.

Signed-off by Michael Adam <obnox@samba.org>
(This used to be commit 03d66554d1bbd9d6c72a3dd5203e5305343c76b8)

source3/lib/util_str.c

index 7cb57adbb59acabc906e6030ca6769b35d90d59c..5f26cc80f8c99e6ebc503d2e72576ab94ea076af 100644 (file)
@@ -1230,7 +1230,7 @@ char *talloc_string_sub2(TALLOC_CTX *mem_ctx, const char *src,
        char *string;
        ssize_t ls,lp,li,ld, i;
 
-       if (!insert || !pattern || !*pattern || !src || !*src) {
+       if (!insert || !pattern || !*pattern || !src) {
                return NULL;
        }