X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=blob.c;h=559564506e399d39c9a43123745c5941a9ee75da;hp=b970ab6517742f1ea38bd13bd4dab29bac21f530;hb=cdef208272294b567ec80b9defd60e57a0eb2587;hpb=cb6d1dfb9e4067229a4bbde0abd05784d97ef14b diff --git a/blob.c b/blob.c index b970ab65..55956450 100644 --- a/blob.c +++ b/blob.c @@ -3,6 +3,7 @@ #include "afh.h" #include "afs.h" #include "string.h" +#include "net.h" /** \file blob.c Macros and functions for blob handling. */ @@ -105,7 +106,7 @@ int com_lsblob_callback(struct osl_table *table, return ret; } -static int com_lsblob(callback_function *f, __a_unused int fd, int argc, const char **argv) +static int com_lsblob(callback_function *f, int fd, int argc, char * const * const argv) { struct com_lsblob_options clbo = {.flags = 0}; struct osl_object query = {.data = &clbo, .size = sizeof(clbo)}, @@ -138,7 +139,7 @@ static int com_lsblob(callback_function *f, __a_unused int fd, int argc, const c ret = send_option_arg_callback_request(&query, argc - i, argv + i, f, &ls_output); if (ret >= 0 && ls_output.data) - printf("%s\n", (char *)ls_output.data); + send_buffer(fd, (char *)ls_output.data); free(ls_output.data); return ret; } @@ -161,8 +162,8 @@ static int com_catblob_callback(struct osl_table *table, memcpy(output->data, obj.data, obj.size); return osl_close_disk_object(&obj); } -static int com_catblob(callback_function *f, __a_unused int fd, int argc, - const char **argv) +static int com_catblob(callback_function *f, int fd, int argc, + char * const * const argv) { struct osl_object cat_output = {.data = NULL}; int ret; @@ -173,7 +174,7 @@ static int com_catblob(callback_function *f, __a_unused int fd, int argc, return -E_BLOB_SYNTAX; ret = send_standard_callback_request(1, argv + 1, f, &cat_output); if (ret >= 0 && cat_output.data) - printf("%s\n", (char *)cat_output.data); + ret = send_buffer(fd, (char *)cat_output.data); free(cat_output.data); return ret; @@ -231,7 +232,7 @@ static int com_addblob_callback(struct osl_table *table, } static int com_addblob(callback_function *f, __a_unused int fd, int argc, - const char **argv) + char * const * const argv) { struct osl_object arg_obj; @@ -271,7 +272,7 @@ static int com_rmblob_callback(struct osl_table *table, } static int com_rmblob(callback_function *f, __a_unused int fd, int argc, - const char **argv) + char * const * const argv) { if (argc < 2) return -E_MOOD_SYNTAX; @@ -297,7 +298,7 @@ static int com_mvblob_callback(struct osl_table *table, } static int com_mvblob(callback_function *f, __a_unused int fd, - int argc, const char **argv) + int argc, char * const * const argv) { if (argc != 3) return -E_MOOD_SYNTAX; @@ -311,7 +312,7 @@ static int com_mvblob(callback_function *f, __a_unused int fd, { \ return com_ ## cmd_name ## blob_callback(table_name ## _table, query, output); \ } \ - int com_ ## cmd_name ## cmd_prefix(__a_unused int fd, int argc, const char **argv) \ + int com_ ## cmd_name ## cmd_prefix(int fd, int argc, char * const * const argv) \ { \ return com_ ## cmd_name ## blob(com_ ## cmd_name ## cmd_prefix ## _callback, fd, argc, argv); \ } @@ -351,11 +352,11 @@ static int blob_get_name_by_id(struct osl_table *table, uint32_t id, } static int blob_init(struct osl_table **table, - const struct osl_table_description *desc, - struct table_info *ti) + struct osl_table_description *desc, + struct table_info *ti, const char *db) { int ret; - + desc->dir = db; ti->desc = desc; ret = osl_open_table(ti->desc, &ti->table); if (ret >= 0) { @@ -368,10 +369,10 @@ static int blob_init(struct osl_table **table, /** Define the \p init function for this blob type. */ #define DEFINE_BLOB_INIT(table_name) \ - int table_name ## _init(struct table_info *ti) \ + int table_name ## _init(struct table_info *ti, const char *db) \ { \ return blob_init(&table_name ## _table, \ - &table_name ## _table_desc, ti); \ + &table_name ## _table_desc, ti, db); \ }