adam@1493: #include "config.h"
adam@1493: 
adam@1493: #include <stdio.h>
adam@1493: #include <stdarg.h>
adam@1493: 
adam@1493: #include "urweb.h"
adam@1493: 
adam@1493: extern uw_app uw_application;
adam@1493: 
adam@1493: static void log_debug(void *data, const char *fmt, ...) {
adam@1493:   va_list ap;
adam@1493:   va_start(ap, fmt);
adam@1493: 
adam@1493:   vprintf(fmt, ap);
adam@1493: }
adam@1493: 
adam@1493: int main(int argc, char *argv[]) {
adam@1493:   uw_context ctx;
adam@1493:   failure_kind fk;
adam@1493: 
adam@1493:   if (argc != 2) {
adam@1493:     fprintf(stderr, "Pass exactly one argument: the URI to run\n");
adam@1493:     return 1;
adam@1493:   }
adam@1493:  
adam@1493:   ctx = uw_init(0, NULL, log_debug);
adam@1493:   uw_set_app(ctx, &uw_application);
adam@1814:   uw_initialize(ctx);
adam@1493: 
adam@1498:   while (1) {
adam@1498:     fk = uw_begin(ctx, argv[1]);
adam@1498: 
adam@1498:     if (fk == SUCCESS) {
adam@1498:       uw_print(ctx, 1);
adam@1498:       puts("");
adam@1498:       return 0;
adam@1498:     } else if (fk != UNLIMITED_RETRY) {
adam@1498:       fprintf(stderr, "Error: %s\n", uw_error_message(ctx));
adam@1498:       return 1;
adam@1498:     }
adam@1502: 
adam@1502:     uw_reset(ctx);
adam@1493:   }
adam@1493: }
adam@1493: 
adam@1493: void *uw_init_client_data() {
adam@1493:   return NULL;
adam@1493: }
adam@1493: 
adam@1493: void uw_free_client_data(void *data) {
adam@1493: }
adam@1493: 
adam@1493: void uw_copy_client_data(void *dst, void *src) {
adam@1493: }
adam@1493: 
adam@1493: void uw_do_expunge(uw_context ctx, uw_Basis_client cli, void *data) {
adam@1493: }
adam@1493: 
adam@1493: void uw_post_expunge(uw_context ctx, void *data) {
adam@1493: }
adam@1493: 
adam@1493: int uw_supports_direct_status = 0;