From c70e2b40ef0bb3bf49c22234f31c21a6f08932ae Mon Sep 17 00:00:00 2001 From: Dan Egnor <egnor@ofb.net> Date: Sun, 25 Mar 2001 00:03:43 +0000 Subject: [PATCH] dangermouse changes... --- Makefile.am | 8 ++++++-- alloc.c | 2 +- configure.in | 8 ++++---- oop.h | 5 +++-- sys.c | 5 ++++- test-oop.c | 26 ++++++++++++++------------ 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/Makefile.am b/Makefile.am index d707d93..deead5d 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,7 +7,7 @@ # See the file COPYING for details. AUTOMAKE_OPTIONS = foreign 1.2 -lib_LTLIBRARIES = liboop.la liboop-adns.la liboop-glib.la liboop-www.la liboop-rl.la +lib_LTLIBRARIES = liboop-adns.la liboop-glib.la liboop-www.la liboop-rl.la liboop.la INCLUDES = $(GLIB_INCLUDES) $(WWW_INCLUDES) # versions updated as of 0.7 @@ -15,15 +15,19 @@ liboop_la_LDFLAGS = -version-info 3:0:0 # version:revision:age liboop_la_SOURCES = sys.c select.c signal.c alloc.c read.c read-fd.c read-mem.c liboop_adns_la_LDFLAGS = -version-info 1:0:1 +liboop_adns_la_LIBADD = $(ADNS_LIBS) liboop_adns_la_SOURCES = adns.c liboop_glib_la_LDFLAGS = -version-info 0:0:0 +liboop_glib_la_LIBADD = $(GLIB_LIBS) liboop_glib_la_SOURCES = glib.c liboop_www_la_LDFLAGS = -version-info 0:0:0 +liboop_www_la_LIBADD = $(WWW_LIBS) liboop_www_la_SOURCES = www.c liboop_rl_la_LDFLAGS = -version-info 0:0:0 +liboop_rl_la_LIBADD = $(READLINE_LIBS) liboop_rl_la_SOURCES = readline.c include_HEADERS = oop.h oop-adns.h oop-glib.h oop-www.h oop-rl.h @@ -31,7 +35,7 @@ include_HEADERS = oop.h oop-adns.h oop-glib.h oop-www.h oop-rl.h noinst_PROGRAMS = test-oop test_oop_SOURCES = test-oop.c -test_oop_LDADD = $(ADNS_LIBS) $(GLIB_LIBS) $(WWW_LIBS) $(READLINE_LIBS) liboop.la +test_oop_LDADD = $(lib_LTLIBRARIES) release: dist gzip -dc $(PACKAGE)-$(VERSION).tar.gz | bzip2 -9 \ diff --git a/alloc.c b/alloc.c index 3a243e7..393bac8 100644 --- a/alloc.c +++ b/alloc.c @@ -5,4 +5,4 @@ void *(*oop_malloc)(size_t) = malloc; void (*oop_free)(void *) = free; void *(*oop_realloc)(void *,size_t) = realloc; -int _oop_continue; /* this has to go somewhere */ +int _oop_continue,_oop_error; /* this has to go somewhere */ diff --git a/configure.in b/configure.in index 169eae4..23ac539 100644 --- a/configure.in +++ b/configure.in @@ -27,20 +27,20 @@ esac AC_CHECK_HEADERS(poll.h sys/select.h) AC_CHECK_LIB(adns,adns_init,[ - ADNS_LIBS="liboop-adns.la -ladns" + ADNS_LIBS="-ladns" AC_DEFINE(HAVE_ADNS) ]) AC_CHECK_LIB(readline,rl_callback_handler_install,[ AC_CHECK_HEADER(readline/readline.h,[ - READLINE_LIBS="liboop-rl.la -lreadline" + READLINE_LIBS="-lreadline" AC_DEFINE(HAVE_READLINE) ])]) AC_CHECK_PROG(PROG_GLIB_CONFIG,glib-config,glib-config) if test -n "$PROG_GLIB_CONFIG" ; then GLIB_INCLUDES="`glib-config --cflags`" - GLIB_LIBS="liboop-glib.la `glib-config --libs`" + GLIB_LIBS="`glib-config --libs`" AC_DEFINE(HAVE_GLIB) fi @@ -48,7 +48,7 @@ fi AC_CHECK_LIB(wwwcore,HTEvent_setRegisterCallback,[ AC_DEFINE(HAVE_WWW) # This is just a little unpleasant. - WWW_LIBS="liboop-www.la \ + WWW_LIBS=" \ -lwwwapp -lwwwcache -lwwwcore -lwwwdir -lwwwfile -lwwwftp -lwwwgopher \ -lwwwhtml -lwwwhttp -lwwwinit -lwwwmime -lwwwmux -lwwwnews -lwwwstream \ -lwwwtelnet -lwwwtrans -lwwwutils -lwwwxml -lwwwzip -lxmlparse -lxmltok -lmd5" diff --git a/oop.h b/oop.h index 2c2dd50..b25a08c 100644 --- a/oop.h +++ b/oop.h @@ -31,9 +31,10 @@ static const struct timeval OOP_TIME_NOW = { 0, 0 }; #define OOP_NUM_SIGNALS 256 /* Callbacks may return one of these */ -extern int _oop_continue; /* internal only */ +extern int _oop_continue,_oop_error; /* internal only */ #define OOP_CONTINUE ((void *) &_oop_continue) -#define OOP_HALT ((void *) NULL) /* (or any other value except OOP_CONTINUE) */ +#define OOP_ERROR ((void *) &_oop_error) +#define OOP_HALT ((void *) NULL) /* (or any other value besides OOP_CONTINUE) */ /* Callback function prototypes */ typedef void *oop_call_fd(oop_source *,int fd,oop_event,void *); diff --git a/sys.c b/sys.c index 97bd3e3..8657569 100644 --- a/sys.c +++ b/sys.c @@ -326,7 +326,10 @@ void *oop_sys_run(oop_source_sys *sys) { sys->do_jmp = 0; - if (0 > rv) break; /* Error in select(). */ + if (0 > rv) { /* Error in select(). */ + ret = OOP_ERROR; + break; + } if (sys->sig_active) { sys->sig_active = 0; diff --git a/test-oop.c b/test-oop.c index d882f20..82c38d5 100644 --- a/test-oop.c +++ b/test-oop.c @@ -25,6 +25,20 @@ GMainLoop *glib_loop; #endif +#ifdef HAVE_WWW +/* Yuck: */ +#define HAVE_CONFIG_H +#undef PACKAGE +#undef VERSION + +#include "oop.h" +#include "HTEvent.h" +#include "oop-www.h" + +#include "WWWLib.h" +#include "WWWInit.h" +#endif + #ifdef HAVE_READLINE #include <readline/readline.h> #include "oop-rl.h" @@ -257,18 +271,6 @@ static void add_adns(oop_source *src) { #ifdef HAVE_WWW -/* Yuck: */ -#define HAVE_CONFIG_H -#undef PACKAGE -#undef VERSION - -#include "oop.h" -#include "HTEvent.h" -#include "oop-www.h" - -#include "WWWLib.h" -#include "WWWInit.h" - static int remaining = 0; static int on_print(const char *fmt,va_list args) { -- GitLab