X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=blob.c;h=2545aea9af2d9dbb5d34b4a41a6d3363c35c3385;hb=85094cd802bdb606d4e2bf7ed66dec51db2a0953;hp=21144d851a48d8a3d6c2fb16eb792adea5c87a1e;hpb=b326b33f0afef8f68623d30fff936d615ce43bc7;p=paraslash.git diff --git a/blob.c b/blob.c index 21144d85..2545aea9 100644 --- a/blob.c +++ b/blob.c @@ -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; }