55 const XML_Char **atts)
75 fprintf(stderr,
"Not enough memory (realloc returned NULL).\n");
96 XML_Parser
parser = (XML_Parser) userp;
97 size_t real_size = length * nmemb;
101 if(state->
ok && XML_Parse(parser, contents, real_size, 0) == 0) {
102 int error_code = XML_GetErrorCode(parser);
103 fprintf(stderr,
"Parsing response buffer of length %lu failed" 104 " with error code %d (%s).\n",
105 real_size, error_code, XML_ErrorString(error_code));
124 parser = XML_ParserCreateNS(NULL,
'\0');
125 XML_SetUserData(parser, &state);
133 "http://www.w3schools.com/xml/simple.xml");
137 printf(
"Depth Characters Closing Tag\n");
142 fprintf(stderr,
"curl_easy_perform() failed: %s\n",
147 if(XML_Parse(parser, NULL, 0, 1) == 0) {
148 int error_code = XML_GetErrorCode(parser);
149 fprintf(stderr,
"Finalizing parsing failed with error code %d (%s).\n",
150 error_code, XML_ErrorString(error_code));
153 printf(
" --------------\n");
160 XML_ParserFree(parser);
static void startElement(void *userData, const XML_Char *name, const XML_Char **atts)
#define realloc(ptr, size)
static void characterDataHandler(void *userData, const XML_Char *s, int len)
#define curl_easy_setopt(handle, option, value)
memcpy(filename, filename1, strlen(filename1))
static void endElement(void *userData, const XML_Char *name)
CURL_EXTERN CURL * curl_easy_init(void)
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
static size_t parseStreamCallback(void *contents, size_t length, size_t nmemb, void *userp)
struct MemoryStruct characters
CURL_EXTERN CURLcode curl_global_init(long flags)
curl_global_init() globally initializes curl given a bitwise set of the different features of what to...
CURL_EXTERN void curl_global_cleanup(void)
curl_global_cleanup() globally cleanups curl, uses the value of "init_flags" to determine what needs ...
CURL_EXTERN const char * curl_easy_strerror(CURLcode)
CURL_EXTERN CURLcode curl_easy_perform(CURL *curl)