X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftap%2Ftap.c;h=9f6d4d066a4e7068d16bc05659cb47fd680b3f6b;hp=857528a24429fa12e438e6844f356fa6fee40513;hb=18db8f6ff7faf1fe5e831427bc6b524de139dcfe;hpb=b734bbea227ae0c326a0f19f84b490d8895b2010 diff --git a/ccan/tap/tap.c b/ccan/tap/tap.c index 857528a2..9f6d4d06 100644 --- a/ccan/tap/tap.c +++ b/ccan/tap/tap.c @@ -23,10 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -/* FIXME: The real fix is an asprintf module. */ -#ifndef _GNU_SOURCE -#define _GNU_SOURCE 1 -#endif +#include "config.h" #include #include #include @@ -49,7 +46,7 @@ static int test_pid; /* Encapsulate the pthread code in a conditional. In the absence of libpthread the code does nothing */ -#ifdef HAVE_LIBPTHREAD +#if HAVE_LIBPTHREAD #include static pthread_mutex_t M = PTHREAD_MUTEX_INITIALIZER; # define LOCK pthread_mutex_lock(&M) @@ -118,7 +115,8 @@ _gen_result(int ok, const char *func, const char *file, unsigned int line, if(local_test_name) { name_is_digits = 1; for(c = local_test_name; *c != '\0'; c++) { - if(!isdigit(*c) && !isspace(*c)) { + if(!isdigit((unsigned char)*c) + && !isspace((unsigned char)*c)) { name_is_digits = 0; break; } @@ -179,6 +177,9 @@ _gen_result(int ok, const char *func, const char *file, unsigned int line, UNLOCK; + if (!ok && tap_fail_callback) + tap_fail_callback(); + /* We only care (when testing) that ok is positive, but here we specifically only want to return 1 or 0 */ return ok ? 1 : 0;