X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=blob.c;h=ee4e405eba46b6c96c46048e77311051402c4808;hb=9de1287d67c9562e9140c6dc7deb0c01c4e10cc0;hp=21144d851a48d8a3d6c2fb16eb792adea5c87a1e;hpb=b326b33f0afef8f68623d30fff936d615ce43bc7;p=paraslash.git diff --git a/blob.c b/blob.c index 21144d85..ee4e405e 100644 --- a/blob.c +++ b/blob.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2007-2011 Andre Noll + * Copyright (C) 2007-2012 Andre Noll * * Licensed under the GPL v2. For licencing details see COPYING. */ @@ -156,6 +156,8 @@ static void com_lsblob_callback(struct osl_table *table, ret = for_each_matching_row(&pmd); if (ret < 0) para_printf(&lbad.pb, "%s\n", para_strerror(-ret)); + else if (pmd.num_matches == 0 && pmd.patterns.size > 0) + para_printf(&lbad.pb, "no matches\n"); if (lbad.pb.offset) pass_buffer_as_shm(lbad.pb.buf, lbad.pb.offset, &fd); free(lbad.pb.buf); @@ -203,9 +205,9 @@ static int cat_blob(struct osl_table *table, struct osl_row *row, ret = osl(osl_open_disk_object(table, row, BLOBCOL_DEF, &obj)); if (ret < 0) - return ret; - if (obj.size) - ret = pass_buffer_as_shm(obj.data, obj.size, data); + return (ret == osl(-E_OSL_EMPTY))? 0 : ret; + assert(obj.size > 0); + ret = pass_buffer_as_shm(obj.data, obj.size, data); ret2 = osl(osl_close_disk_object(&obj)); return (ret < 0)? ret : ret2; }