From 88081d9a4376b1ee4feed3bc843c46096e087b1e Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Fri, 22 Nov 2019 18:55:54 +0300 Subject: . --- examples/upload.c | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) (limited to 'examples/upload.c') diff --git a/examples/upload.c b/examples/upload.c index 2ef8bc5..25fefaf 100644 --- a/examples/upload.c +++ b/examples/upload.c @@ -1,15 +1,17 @@ #include #include #include +#include #include #include #include void tempfile_callback(struct magi_file * file, - char * buffer, - int len, - void * _) + char * addon, + int addon_len, + int is_addon_last, + void * unused) { if (!strcmp(file->param_name, "data")) { static FILE * f = 0; @@ -17,10 +19,10 @@ void tempfile_callback(struct magi_file * file, remove(file->param_name); f = fopen(file->param_name, "wb"); } - if (len) { - fwrite(buffer, 1, len, f); + if (addon_len) { + fwrite(addon, 1, addon_len, f); } - if (len < magi_file_callback_portion_max) { + if (is_addon_last) { fclose(f); f = 0; } @@ -30,7 +32,7 @@ void tempfile_callback(struct magi_file * file, void response_request(struct magi_request * req, struct magi_response * res) { magi_response_content_type(res, magi_xhtml); - magi_response_content( + magi_response_add( res, "" "" @@ -45,8 +47,8 @@ void response_request(struct magi_request * req, struct magi_response * res) "" ""); - struct magi_field * name = magi_field_list_get(req->fields, "name"); - struct magi_field * data = magi_field_list_get(req->fields, "data"); + struct magi_param * name = magi_param_list_get(req->params, "name"); + struct magi_param * data = magi_param_list_get(req->params, "data"); if (name && name->data && data) { rename("data", name->data); } @@ -55,13 +57,15 @@ void response_request(struct magi_request * req, struct magi_response * res) int main(int argc, char const * argv[]) { struct magi_request request; - if (magi_cgi(&request, tempfile_callback, 0, 0)) { + magi_request_setup(&request); + request.file_callback = tempfile_callback; + if (magi_request_cgi(&request)) { struct magi_response response; response_request(&request, &response); - magi_cgi_response(&response); + magi_response_cgi(&response); magi_response_destroy(); } else { - magi_cgi_error(request.error); + magi_error_cgi(request.error); } magi_request_destroy(&request); return 0; -- cgit v1.2.3