Diff for /embedaddon/libxml2/xmllint.c between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2013/07/22 01:22:22 version 1.1.1.3, 2014/06/15 19:53:29
Line 168  static int nodefdtd = 0; Line 168  static int nodefdtd = 0;
 #endif  #endif
 #ifdef LIBXML_PUSH_ENABLED  #ifdef LIBXML_PUSH_ENABLED
 static int push = 0;  static int push = 0;
   static int pushsize = 4096;
 #endif /* LIBXML_PUSH_ENABLED */  #endif /* LIBXML_PUSH_ENABLED */
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
 static int memory = 0;  static int memory = 0;
 #endif  #endif
 static int testIO = 0;  static int testIO = 0;
Line 209  static xmlStreamCtxtPtr patstream = NULL; Line 210  static xmlStreamCtxtPtr patstream = NULL;
 #ifdef LIBXML_XPATH_ENABLED  #ifdef LIBXML_XPATH_ENABLED
 static const char *xpathquery = NULL;  static const char *xpathquery = NULL;
 #endif  #endif
static int options = XML_PARSE_COMPACT;static int options = XML_PARSE_COMPACT | XML_PARSE_BIG_LINES;
 static int sax = 0;  static int sax = 0;
 static int oldxml10 = 0;  static int oldxml10 = 0;
   
Line 1669  testSAX(const char *filename) { Line 1670  testSAX(const char *filename) {
                 (xmlSchemaValidityErrorFunc) fprintf,                  (xmlSchemaValidityErrorFunc) fprintf,
                 (xmlSchemaValidityWarningFunc) fprintf,                  (xmlSchemaValidityWarningFunc) fprintf,
                 stderr);                  stderr);
           xmlSchemaValidateSetFilename(vctxt, filename);
   
         ret = xmlSchemaValidateStream(vctxt, buf, 0, handler,          ret = xmlSchemaValidateStream(vctxt, buf, 0, handler,
                                       (void *)user_data);                                        (void *)user_data);
Line 1823  static void processNode(xmlTextReaderPtr reader) { Line 1825  static void processNode(xmlTextReaderPtr reader) {
 static void streamFile(char *filename) {  static void streamFile(char *filename) {
     xmlTextReaderPtr reader;      xmlTextReaderPtr reader;
     int ret;      int ret;
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
     int fd = -1;      int fd = -1;
     struct stat info;      struct stat info;
     const char *base = NULL;      const char *base = NULL;
Line 1873  static void streamFile(char *filename) { Line 1875  static void streamFile(char *filename) {
             xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1);              xmlTextReaderSetParserProp(reader, XML_PARSER_VALIDATE, 1);
         else          else
 #endif /* LIBXML_VALID_ENABLED */  #endif /* LIBXML_VALID_ENABLED */
            xmlTextReaderSetParserProp(reader, XML_PARSER_LOADDTD, 1);            if (loaddtd)
                 xmlTextReaderSetParserProp(reader, XML_PARSER_LOADDTD, 1);
 #ifdef LIBXML_SCHEMAS_ENABLED  #ifdef LIBXML_SCHEMAS_ENABLED
         if (relaxng != NULL) {          if (relaxng != NULL) {
             if ((timing) && (!repeat)) {              if ((timing) && (!repeat)) {
Line 1974  static void streamFile(char *filename) { Line 1977  static void streamFile(char *filename) {
         patstream = NULL;          patstream = NULL;
     }      }
 #endif  #endif
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
     if (memory) {      if (memory) {
         xmlFreeParserInputBuffer(input);          xmlFreeParserInputBuffer(input);
         munmap((char *) base, info.st_size);          munmap((char *) base, info.st_size);
Line 2139  static void doXPathQuery(xmlDocPtr doc, const char *qu Line 2142  static void doXPathQuery(xmlDocPtr doc, const char *qu
         progresult = XMLLINT_ERR_MEM;          progresult = XMLLINT_ERR_MEM;
         return;          return;
     }      }
    ctxt->node = xmlDocGetRootElement(doc);    ctxt->node = (xmlNodePtr) doc;
     res = xmlXPathEval(BAD_CAST query, ctxt);      res = xmlXPathEval(BAD_CAST query, ctxt);
     xmlXPathFreeContext(ctxt);      xmlXPathFreeContext(ctxt);
   
Line 2191  static void parseAndPrintFile(char *filename, xmlParse Line 2194  static void parseAndPrintFile(char *filename, xmlParse
         f = fopen(filename, "r");          f = fopen(filename, "r");
 #endif  #endif
         if (f != NULL) {          if (f != NULL) {
            int res, size = 3;            int res;
             char chars[4096];              char chars[4096];
             htmlParserCtxtPtr ctxt;              htmlParserCtxtPtr ctxt;
   
             /* if (repeat) */  
                 size = 4096;  
             res = fread(chars, 1, 4, f);              res = fread(chars, 1, 4, f);
             if (res > 0) {              if (res > 0) {
                 ctxt = htmlCreatePushParserCtxt(NULL, NULL,                  ctxt = htmlCreatePushParserCtxt(NULL, NULL,
                             chars, res, filename, XML_CHAR_ENCODING_NONE);                              chars, res, filename, XML_CHAR_ENCODING_NONE);
                while ((res = fread(chars, 1, size, f)) > 0) {                while ((res = fread(chars, 1, pushsize, f)) > 0) {
                     htmlParseChunk(ctxt, chars, res, 0);                      htmlParseChunk(ctxt, chars, res, 0);
                 }                  }
                 htmlParseChunk(ctxt, chars, 0, 1);                  htmlParseChunk(ctxt, chars, 0, 1);
Line 2212  static void parseAndPrintFile(char *filename, xmlParse Line 2213  static void parseAndPrintFile(char *filename, xmlParse
         }          }
     }      }
 #endif /* LIBXML_PUSH_ENABLED */  #endif /* LIBXML_PUSH_ENABLED */
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
     else if ((html) && (memory)) {      else if ((html) && (memory)) {
         int fd;          int fd;
         struct stat info;          struct stat info;
Line 2327  static void parseAndPrintFile(char *filename, xmlParse Line 2328  static void parseAndPrintFile(char *filename, xmlParse
                 if (rectxt == NULL)                  if (rectxt == NULL)
                     xmlFreeParserCtxt(ctxt);                      xmlFreeParserCtxt(ctxt);
             }              }
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
         } else if (memory) {          } else if (memory) {
             int fd;              int fd;
             struct stat info;              struct stat info;
Line 2591  static void parseAndPrintFile(char *filename, xmlParse Line 2592  static void parseAndPrintFile(char *filename, xmlParse
                 }                  }
             } else              } else
 #endif  #endif
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
             if (memory) {              if (memory) {
                 xmlChar *result;                  xmlChar *result;
                 int len;                  int len;
Line 2619  static void parseAndPrintFile(char *filename, xmlParse Line 2620  static void parseAndPrintFile(char *filename, xmlParse
                 }                  }
   
             } else              } else
#endif /* HAVE_SYS_MMAN_H */#endif /* HAVE_MMAP */
             if (compress) {              if (compress) {
                 xmlSaveFile(output ? output : "-", doc);                  xmlSaveFile(output ? output : "-", doc);
             } else if (oldout) {              } else if (oldout) {
Line 3016  static void usage(const char *name) { Line 3017  static void usage(const char *name) {
 #endif  #endif
 #ifdef LIBXML_PUSH_ENABLED  #ifdef LIBXML_PUSH_ENABLED
     printf("\t--push : use the push mode of the parser\n");      printf("\t--push : use the push mode of the parser\n");
       printf("\t--pushsmall : use the push mode of the parser using tiny increments\n");
 #endif /* LIBXML_PUSH_ENABLED */  #endif /* LIBXML_PUSH_ENABLED */
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
     printf("\t--memory : parse from memory\n");      printf("\t--memory : parse from memory\n");
 #endif  #endif
     printf("\t--maxmem nbbytes : limits memory allocation to nbbytes bytes\n");      printf("\t--maxmem nbbytes : limits memory allocation to nbbytes bytes\n");
Line 3075  static void usage(const char *name) { Line 3077  static void usage(const char *name) {
     printf("\t--sax: do not build a tree but work just at the SAX level\n");      printf("\t--sax: do not build a tree but work just at the SAX level\n");
     printf("\t--oldxml10: use XML-1.0 parsing rules before the 5th edition\n");      printf("\t--oldxml10: use XML-1.0 parsing rules before the 5th edition\n");
 #ifdef LIBXML_XPATH_ENABLED  #ifdef LIBXML_XPATH_ENABLED
    printf("\t--xpath expr: evaluate the XPath expression, inply --noout\n");    printf("\t--xpath expr: evaluate the XPath expression, imply --noout\n");
 #endif  #endif
   
     printf("\nLibxml project home page: http://xmlsoft.org/\n");      printf("\nLibxml project home page: http://xmlsoft.org/\n");
Line 3246  main(int argc, char **argv) { Line 3248  main(int argc, char **argv) {
         else if ((!strcmp(argv[i], "-push")) ||          else if ((!strcmp(argv[i], "-push")) ||
                  (!strcmp(argv[i], "--push")))                   (!strcmp(argv[i], "--push")))
             push++;              push++;
           else if ((!strcmp(argv[i], "-pushsmall")) ||
                    (!strcmp(argv[i], "--pushsmall"))) {
               push++;
               pushsize = 10;
           }
 #endif /* LIBXML_PUSH_ENABLED */  #endif /* LIBXML_PUSH_ENABLED */
#ifdef HAVE_SYS_MMAN_H#ifdef HAVE_MMAP
         else if ((!strcmp(argv[i], "-memory")) ||          else if ((!strcmp(argv[i], "-memory")) ||
                  (!strcmp(argv[i], "--memory")))                   (!strcmp(argv[i], "--memory")))
             memory++;              memory++;
Line 3339  main(int argc, char **argv) { Line 3346  main(int argc, char **argv) {
         }          }
         else if ((!strcmp(argv[i], "-noblanks")) ||          else if ((!strcmp(argv[i], "-noblanks")) ||
                  (!strcmp(argv[i], "--noblanks"))) {                   (!strcmp(argv[i], "--noblanks"))) {
             noblanks++;            noblanks++;
             xmlKeepBlanksDefault(0);            xmlKeepBlanksDefault(0);
             options |= XML_PARSE_NOBLANKS;
         }          }
         else if ((!strcmp(argv[i], "-maxmem")) ||          else if ((!strcmp(argv[i], "-maxmem")) ||
                  (!strcmp(argv[i], "--maxmem"))) {                   (!strcmp(argv[i], "--maxmem"))) {

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>