summaryrefslogtreecommitdiff
path: root/src/c
diff options
context:
space:
mode:
authorGravatar Adam Chlipala <adam@chlipala.net>2011-07-15 16:50:55 -0400
committerGravatar Adam Chlipala <adam@chlipala.net>2011-07-15 16:50:55 -0400
commit7f32f0ab54aaa4d4f19ae6943ceafd815547d470 (patch)
tree73aebcfa002bfc332ec3a531fb864869086b390c /src/c
parente4a29fbb4aca90b241ac13c0ea604f8a9cf594f9 (diff)
Generated pretty-printed HTML for a simple tutorial source file
Diffstat (limited to 'src/c')
-rw-r--r--src/c/Makefile.am3
-rw-r--r--src/c/Makefile.in15
-rw-r--r--src/c/static.c56
3 files changed, 70 insertions, 4 deletions
diff --git a/src/c/Makefile.am b/src/c/Makefile.am
index 04fe6bf0..467e75cb 100644
--- a/src/c/Makefile.am
+++ b/src/c/Makefile.am
@@ -1,9 +1,10 @@
-lib_LTLIBRARIES = liburweb.la liburweb_http.la liburweb_cgi.la liburweb_fastcgi.la
+lib_LTLIBRARIES = liburweb.la liburweb_http.la liburweb_cgi.la liburweb_fastcgi.la liburweb_static.la
liburweb_la_SOURCES = memmem.c openssl.c urweb.c request.c queue.c
liburweb_http_la_SOURCES = http.c
liburweb_cgi_la_SOURCES = cgi.c
liburweb_fastcgi_la_SOURCES = fastcgi.c
+liburweb_static_la_SOURCES = static.c
AM_CPPFLAGS = -I../../include @OPENSSL_INCLUDES@
AM_CFLAGS = -Wimplicit -Wall -Werror -Wno-format-security
diff --git a/src/c/Makefile.in b/src/c/Makefile.in
index ad8c1115..4b567a16 100644
--- a/src/c/Makefile.in
+++ b/src/c/Makefile.in
@@ -83,6 +83,9 @@ liburweb_fastcgi_la_OBJECTS = $(am_liburweb_fastcgi_la_OBJECTS)
liburweb_http_la_LIBADD =
am_liburweb_http_la_OBJECTS = http.lo
liburweb_http_la_OBJECTS = $(am_liburweb_http_la_OBJECTS)
+liburweb_static_la_LIBADD =
+am_liburweb_static_la_OBJECTS = static.lo
+liburweb_static_la_OBJECTS = $(am_liburweb_static_la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -97,9 +100,11 @@ LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(liburweb_la_SOURCES) $(liburweb_cgi_la_SOURCES) \
- $(liburweb_fastcgi_la_SOURCES) $(liburweb_http_la_SOURCES)
+ $(liburweb_fastcgi_la_SOURCES) $(liburweb_http_la_SOURCES) \
+ $(liburweb_static_la_SOURCES)
DIST_SOURCES = $(liburweb_la_SOURCES) $(liburweb_cgi_la_SOURCES) \
- $(liburweb_fastcgi_la_SOURCES) $(liburweb_http_la_SOURCES)
+ $(liburweb_fastcgi_la_SOURCES) $(liburweb_http_la_SOURCES) \
+ $(liburweb_static_la_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -231,11 +236,12 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-lib_LTLIBRARIES = liburweb.la liburweb_http.la liburweb_cgi.la liburweb_fastcgi.la
+lib_LTLIBRARIES = liburweb.la liburweb_http.la liburweb_cgi.la liburweb_fastcgi.la liburweb_static.la
liburweb_la_SOURCES = memmem.c openssl.c urweb.c request.c queue.c
liburweb_http_la_SOURCES = http.c
liburweb_cgi_la_SOURCES = cgi.c
liburweb_fastcgi_la_SOURCES = fastcgi.c
+liburweb_static_la_SOURCES = static.c
AM_CPPFLAGS = -I../../include @OPENSSL_INCLUDES@
AM_CFLAGS = -Wimplicit -Wall -Werror -Wno-format-security
all: all-am
@@ -311,6 +317,8 @@ liburweb_fastcgi.la: $(liburweb_fastcgi_la_OBJECTS) $(liburweb_fastcgi_la_DEPEND
$(LINK) -rpath $(libdir) $(liburweb_fastcgi_la_OBJECTS) $(liburweb_fastcgi_la_LIBADD) $(LIBS)
liburweb_http.la: $(liburweb_http_la_OBJECTS) $(liburweb_http_la_DEPENDENCIES)
$(LINK) -rpath $(libdir) $(liburweb_http_la_OBJECTS) $(liburweb_http_la_LIBADD) $(LIBS)
+liburweb_static.la: $(liburweb_static_la_OBJECTS) $(liburweb_static_la_DEPENDENCIES)
+ $(LINK) -rpath $(libdir) $(liburweb_static_la_OBJECTS) $(liburweb_static_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -325,6 +333,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openssl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queue.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/request.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/static.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/urweb.Plo@am__quote@
.c.o:
diff --git a/src/c/static.c b/src/c/static.c
new file mode 100644
index 00000000..76b04e45
--- /dev/null
+++ b/src/c/static.c
@@ -0,0 +1,56 @@
+#include "config.h"
+
+#include <stdio.h>
+#include <stdarg.h>
+
+#include "urweb.h"
+
+extern uw_app uw_application;
+
+static void log_debug(void *data, const char *fmt, ...) {
+ va_list ap;
+ va_start(ap, fmt);
+
+ vprintf(fmt, ap);
+}
+
+int main(int argc, char *argv[]) {
+ uw_context ctx;
+ failure_kind fk;
+
+ if (argc != 2) {
+ fprintf(stderr, "Pass exactly one argument: the URI to run\n");
+ return 1;
+ }
+
+ ctx = uw_init(0, NULL, log_debug);
+ uw_set_app(ctx, &uw_application);
+ fk = uw_begin(ctx, argv[1]);
+
+ if (fk == SUCCESS) {
+ uw_print(ctx, 1);
+ puts("");
+ return 0;
+ } else {
+ fprintf(stderr, "Error!\n");
+ return 1;
+ }
+}
+
+void *uw_init_client_data() {
+ return NULL;
+}
+
+void uw_free_client_data(void *data) {
+}
+
+void uw_copy_client_data(void *dst, void *src) {
+}
+
+void uw_do_expunge(uw_context ctx, uw_Basis_client cli, void *data) {
+}
+
+void uw_post_expunge(uw_context ctx, void *data) {
+}
+
+int uw_supports_direct_status = 0;