34 void dump(
const char *text,
35 FILE *stream,
unsigned char *
ptr,
size_t size,
41 unsigned int width = 0x10;
47 fprintf(stream,
"%s, %10.10ld bytes (0x%8.8lx)\n",
48 text, (
long)size, (
long)size);
52 fprintf(stream,
"%4.4lx: ", (
long)i);
56 for(c = 0; c <
width; c++)
58 fprintf(stream,
"%02x ", ptr[i + c]);
63 for(c = 0; (c <
width) && (i + c < size); c++) {
65 if(nohex && (i + c + 1 < size) && ptr[i + c] == 0x0D &&
66 ptr[i + c + 1] == 0x0A) {
71 (ptr[i + c] >= 0x20) && (ptr[i + c]<0x80)?ptr[i + c]:
'.');
73 if(nohex && (i + c + 2 < size) && ptr[i + c + 1] == 0x0D &&
74 ptr[i + c + 2] == 0x0A) {
89 struct data *
config = (
struct data *)userp;
95 fprintf(stderr,
"== Info: %s", data);
101 text =
"=> Send header";
104 text =
"=> Send data";
107 text =
"=> Send SSL data";
110 text =
"<= Recv header";
113 text =
"<= Recv data";
116 text =
"<= Recv SSL data";
147 fprintf(stderr,
"curl_easy_perform() failed: %s\n",
UNITTEST_START char * ptr
#define curl_easy_setopt(handle, option, value)
CURL_EXTERN CURL * curl_easy_init(void)
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
static int my_trace(CURL *handle, curl_infotype type, char *data, size_t size, void *userp)
CURL_EXTERN const char * curl_easy_strerror(CURLcode)
static void dump(const char *text, FILE *stream, unsigned char *ptr, size_t size, char nohex)
CURL_EXTERN CURLcode curl_easy_perform(CURL *curl)