diff --git a/Makefile.am b/Makefile.am index 34367067c527c178017fa6904588281976d275ea..0a53de1093a06c1f691877cca022488beec64f05 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,8 +9,9 @@ AUTOMAKE_OPTIONS = foreign 1.2 lib_LTLIBRARIES = liboop.la liboop-adns.la liboop-glib.la liboop-www.la INCLUDES = $(GLIB_INCLUDES) $(WWW_INCLUDES) +EXTRA_DIST = liboop.spec -# versions updated as of 0.4; 0.5 only changes build stuff. +# versions updated as of 0.4; 0.5 and 0.6 only change build stuff. liboop_la_LDFLAGS = -version-info 2:0:0 # version:revision:age liboop_la_SOURCES = sys.c select.c signal.c alloc.c diff --git a/Makefile.in b/Makefile.in index aeae6357fb622c4c37152218b023a20967f931e3..776b80af4ee0a7cde3f02da5cc3fce5cca167eb6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -88,8 +88,9 @@ WWW_LIBS = @WWW_LIBS@ AUTOMAKE_OPTIONS = foreign 1.2 lib_LTLIBRARIES = liboop.la liboop-adns.la liboop-glib.la liboop-www.la INCLUDES = $(GLIB_INCLUDES) $(WWW_INCLUDES) +EXTRA_DIST = liboop.spec -# versions updated as of 0.4; 0.5 only changes build stuff. +# versions updated as of 0.4; 0.5 and 0.6 only change build stuff. liboop_la_LDFLAGS = -version-info 2:0:0 # version:revision:age liboop_la_SOURCES = sys.c select.c signal.c alloc.c diff --git a/oop-adns.h b/oop-adns.h index 82a7a84c8d3e47e3c46e195156cfa29f62dab3ac..030875b0774622a33fab4f6fc856d4b7dfb49804 100644 --- a/oop-adns.h +++ b/oop-adns.h @@ -18,7 +18,7 @@ typedef struct oop_adns_query oop_adns_query; typedef void *oop_adns_call(oop_adapter_adns *,adns_answer *,void *); /* A liboop adns adapter creates an adns instance tied to a liboop source. - oop_adns_new() Returns NULL on failure.*/ + oop_adns_new() returns NULL on failure.*/ oop_adapter_adns *oop_adns_new(oop_source *,adns_initflags,FILE *diag); void oop_adns_delete(oop_adapter_adns *); diff --git a/test-oop.c b/test-oop.c index 23dbaf251b0020f504661bcfd627478dbe6273c5..13d2baaf6e978a1c521ebe24033d5c299fc2da8b 100644 --- a/test-oop.c +++ b/test-oop.c @@ -124,11 +124,12 @@ static void *on_signal(oop_source *source,int sig,void *data) { #include "adns.h" #include "oop-adns.h" +#define ADNS_CANCEL #define NUM_Q 6 oop_adns_query *q[NUM_Q]; oop_adapter_adns *adns; -void *stop_lookup(oop_source *src,int sig,void *data) { +void cancel_adns(void) { int i; for (i = 0; i < NUM_Q; ++i) @@ -141,7 +142,10 @@ void *stop_lookup(oop_source *src,int sig,void *data) { oop_adns_delete(adns); adns = NULL; } +} +void *stop_lookup(oop_source *src,int sig,void *data) { + cancel_adns(); src->cancel_signal(src,SIGQUIT,stop_lookup,NULL); return OOP_CONTINUE; } @@ -151,17 +155,20 @@ void *on_lookup(oop_adapter_adns *adns,adns_answer *reply,void *data) { for (i = 0; i < NUM_Q; ++i) if (data == &q[i]) q[i] = NULL; printf("adns: %s =>",reply->owner); - if (adns_s_ok != reply->status) { + if (adns_s_ok != reply->status) printf(" error: %s\n",adns_strerror(reply->status)); - return OOP_CONTINUE; + else { + if (NULL != reply->cname) printf(" (%s)",reply->cname); + assert(adns_r_a == reply->type); + for (i = 0; i < reply->nrrs; ++i) + printf(" %s",inet_ntoa(reply->rrs.inaddr[i])); + printf("\n"); } - if (NULL != reply->cname) printf(" (%s)",reply->cname); - assert(adns_r_a == reply->type); - for (i = 0; i < reply->nrrs; ++i) - printf(" %s",inet_ntoa(reply->rrs.inaddr[i])); - printf("\n"); - free(reply); + free(reply); +#ifdef ADNS_CANCEL + cancel_adns(); +#endif return OOP_CONTINUE; }