| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 | /* vi: set sw=4 ts=4: *//* testcase for ctime(3) with large time * Copyright (C) 2010 David A Ramos <daramos@gustav.stanford.edu> * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <time.h>#define MAX_POSITIVE(type)  (~0 & ~((type) 1 << (sizeof(type)*8 - 1)))int do_test(int argc, char **argv) {	char *correct = 0, *s;	int status;	/* need a very high positive number (e.g., max - 1024) */	time_t test = MAX_POSITIVE(time_t) - 1024;	s = asctime(localtime(&test));	if (s) {		// copy static buffer to heap		correct = malloc(strlen(s)+1);		strcpy(correct, s);	}	s = ctime(&test);	printf("ANSI:\t%suClibc:\t%s", correct, s);	if (s != correct && strcmp(correct, s))		status = EXIT_FAILURE;	else		status = EXIT_SUCCESS;	if (correct)		free(correct);    return status;}#include <test-skeleton.c>
 |