Mercurial > urweb
comparison src/c/urweb.c @ 1334:a1aa62b472cf
Change Basis.debug to use the protocol's debug function
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Sun, 12 Dec 2010 10:35:04 -0500 |
parents | 4dd5d23bace2 |
children | b106ca8200b1 |
comparison
equal
deleted
inserted
replaced
1333:dab85a49e0ab | 1334:a1aa62b472cf |
---|---|
440 | 440 |
441 int deadline; | 441 int deadline; |
442 | 442 |
443 void *client_data; | 443 void *client_data; |
444 | 444 |
445 void *logger_data; | |
446 uw_logger log_debug; | |
447 | |
445 char error_message[ERROR_BUF_LEN]; | 448 char error_message[ERROR_BUF_LEN]; |
446 }; | 449 }; |
447 | 450 |
448 size_t uw_headers_max = SIZE_MAX; | 451 size_t uw_headers_max = SIZE_MAX; |
449 size_t uw_page_max = SIZE_MAX; | 452 size_t uw_page_max = SIZE_MAX; |
450 size_t uw_heap_max = SIZE_MAX; | 453 size_t uw_heap_max = SIZE_MAX; |
451 size_t uw_script_max = SIZE_MAX; | 454 size_t uw_script_max = SIZE_MAX; |
452 | 455 |
453 uw_context uw_init() { | 456 uw_context uw_init(void *logger_data, uw_logger log_debug) { |
454 uw_context ctx = malloc(sizeof(struct uw_context)); | 457 uw_context ctx = malloc(sizeof(struct uw_context)); |
455 | 458 |
456 ctx->app = NULL; | 459 ctx->app = NULL; |
457 | 460 |
458 ctx->get_header = NULL; | 461 ctx->get_header = NULL; |
498 ctx->current_url = ""; | 501 ctx->current_url = ""; |
499 | 502 |
500 ctx->deadline = INT_MAX; | 503 ctx->deadline = INT_MAX; |
501 | 504 |
502 ctx->client_data = uw_init_client_data(); | 505 ctx->client_data = uw_init_client_data(); |
506 | |
507 ctx->logger_data = logger_data; | |
508 ctx->log_debug = log_debug; | |
503 | 509 |
504 return ctx; | 510 return ctx; |
505 } | 511 } |
506 | 512 |
507 size_t uw_inputs_max = SIZE_MAX; | 513 size_t uw_inputs_max = SIZE_MAX; |
3439 } | 3445 } |
3440 | 3446 |
3441 size_t uw_database_max = SIZE_MAX; | 3447 size_t uw_database_max = SIZE_MAX; |
3442 | 3448 |
3443 uw_Basis_unit uw_Basis_debug(uw_context ctx, uw_Basis_string s) { | 3449 uw_Basis_unit uw_Basis_debug(uw_context ctx, uw_Basis_string s) { |
3444 fprintf(stderr, "%s\n", s); | 3450 if (ctx->log_debug) |
3445 | 3451 ctx->log_debug(ctx->logger_data, "%s\n", s); |
3452 else | |
3453 fprintf(stderr, "%s\n", s); | |
3446 return uw_unit_v; | 3454 return uw_unit_v; |
3447 } | 3455 } |
3448 | 3456 |
3449 uw_Basis_int uw_Basis_rand(uw_context ctx) { | 3457 uw_Basis_int uw_Basis_rand(uw_context ctx) { |
3450 uw_Basis_int n = abs(rand()); | 3458 uw_Basis_int n = abs(rand()); |