123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- #include "test.h"
- #ifdef HAVE_LOCALE_H
- # include <locale.h> /* for setlocale() */
- #endif
- #ifdef HAVE_IO_H
- # include <io.h> /* for setmode() */
- #endif
- #ifdef HAVE_FCNTL_H
- # include <fcntl.h> /* for setmode() */
- #endif
- #ifdef USE_NSS
- #include <nspr.h>
- #endif
- #ifdef CURLDEBUG
- # define MEMDEBUG_NODEFINES
- # include "memdebug.h"
- #endif
- int select_wrapper(int nfds, fd_set *rd, fd_set *wr, fd_set *exc,
- struct timeval *tv)
- {
- if(nfds < 0) {
- SET_SOCKERRNO(EINVAL);
- return -1;
- }
- #ifdef USE_WINSOCK
-
- if(!nfds) {
- Sleep((1000*tv->tv_sec) + (DWORD)(((double)tv->tv_usec)/1000.0));
- return 0;
- }
- #endif
- return select(nfds, rd, wr, exc, tv);
- }
- void wait_ms(int ms)
- {
- struct timeval t;
- t.tv_sec = ms/1000;
- ms -= (int)t.tv_sec * 1000;
- t.tv_usec = ms * 1000;
- select_wrapper(0, NULL, NULL, NULL, &t);
- }
- char *libtest_arg2 = NULL;
- char *libtest_arg3 = NULL;
- int test_argc;
- char **test_argv;
- struct timeval tv_test_start;
- #ifdef UNITTESTS
- int unitfail;
- #endif
- #ifdef CURLDEBUG
- static void memory_tracking_init(void)
- {
- char *env;
-
- env = curl_getenv("CURL_MEMDEBUG");
- if(env) {
-
- char fname[CURL_MT_LOGFNAME_BUFSIZE];
- if(strlen(env) >= CURL_MT_LOGFNAME_BUFSIZE)
- env[CURL_MT_LOGFNAME_BUFSIZE-1] = '\0';
- strcpy(fname, env);
- curl_free(env);
- curl_memdebug(fname);
-
- }
-
- env = curl_getenv("CURL_MEMLIMIT");
- if(env) {
- char *endptr;
- long num = strtol(env, &endptr, 10);
- if((endptr != env) && (endptr == env + strlen(env)) && (num > 0))
- curl_memlimit(num);
- curl_free(env);
- }
- }
- #else
- # define memory_tracking_init() Curl_nop_stmt
- #endif
- char *hexdump(const unsigned char *buffer, size_t len)
- {
- static char dump[200 * 3 + 1];
- char *p = dump;
- size_t i;
- if(len > 200)
- return NULL;
- for(i = 0; i<len; i++, p += 3)
- snprintf(p, 4, "%02x ", buffer[i]);
- return dump;
- }
- int main(int argc, char **argv)
- {
- char *URL;
- int result;
- #ifdef O_BINARY
- # ifdef __HIGHC__
- _setmode(stdout, O_BINARY);
- # else
- setmode(fileno(stdout), O_BINARY);
- # endif
- #endif
- memory_tracking_init();
-
- #ifdef HAVE_SETLOCALE
- setlocale(LC_ALL, "");
- #endif
- if(argc< 2) {
- fprintf(stderr, "Pass URL as argument please\n");
- return 1;
- }
- test_argc = argc;
- test_argv = argv;
- if(argc>2)
- libtest_arg2 = argv[2];
- if(argc>3)
- libtest_arg3 = argv[3];
- URL = argv[1];
- fprintf(stderr, "URL: %s\n", URL);
- result = test(URL);
- #ifdef USE_NSS
- if(PR_Initialized())
-
- PR_Cleanup();
- #endif
- return result;
- }
|