X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=attribute.c;h=c4bc0bcaa167d1fca0e302bbdd9331d8add5337c;hp=03a832fbd5b7f0905192676b69ce918de49849a4;hb=94fa6ad6ec3068227d322cb83186ff8780100107;hpb=c8862b9e246b4ef6ff1fe103946e18cf2537ecde diff --git a/attribute.c b/attribute.c index 03a832fb..c4bc0bca 100644 --- a/attribute.c +++ b/attribute.c @@ -202,13 +202,17 @@ int com_lsatt(int fd, int argc, char * const * const argv) } ret = send_option_arg_callback_request(&options, argc - i, argv + i, com_lsatt_callback, &result); - if (ret > 0) { - ret = send_buffer(fd, (char *)result.data); - free(result.data); - } else if (ret < 0) + if (!ret) { + if (argc > 1) + ret = send_va_buffer(fd, "no matches\n"); + return ret; + } + if (ret < 0) { send_va_buffer(fd, "%s\n", para_strerror(-ret)); - else if (argc > 1) - send_va_buffer(fd, "no matches\n"); + return ret; + } + ret = send_buffer(fd, (char *)result.data); + free(result.data); return ret; } @@ -482,11 +486,14 @@ int com_rmatt(int fd, int argc, char * const * const argv) return -E_ATTR_SYNTAX; ret = send_standard_callback_request(argc - 1, argv + 1, com_rmatt_callback, &result); - if (ret > 0) { - send_buffer(fd, (char *)result.data); - free(result.data); - } else + if (!ret) + return 0; + if (ret < 0) { send_va_buffer(fd, "%s\n", para_strerror(-ret)); + return ret; + } + ret = send_buffer(fd, (char *)result.data); + free(result.data); return ret; }