MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlXPtrNewRangeNodeObject

Function xmlXPtrNewRangeNodeObject

ThirdParty/libxml2/vtklibxml2/xpointer.c:525–561  ·  view source on GitHub ↗

* xmlXPtrNewRangeNodeObject: * @start: the starting node * @end: the ending object * * Create a new xmlXPathObjectPtr of type range from a not to an object * * Returns the newly created object. */

Source from the content-addressed store, hash-verified

523 * Returns the newly created object.
524 */
525xmlXPathObjectPtr
526xmlXPtrNewRangeNodeObject(xmlNodePtr start, xmlXPathObjectPtr end) {
527 xmlNodePtr endNode;
528 int endIndex;
529 xmlXPathObjectPtr ret;
530
531 if (start == NULL)
532 return(NULL);
533 if (end == NULL)
534 return(NULL);
535 switch (end->type) {
536 case XPATH_POINT:
537 endNode = end->user;
538 endIndex = end->index;
539 break;
540 case XPATH_RANGE:
541 endNode = end->user2;
542 endIndex = end->index2;
543 break;
544 case XPATH_NODESET:
545 /*
546 * Empty set ...
547 */
548 if ((end->nodesetval == NULL) || (end->nodesetval->nodeNr <= 0))
549 return(NULL);
550 endNode = end->nodesetval->nodeTab[end->nodesetval->nodeNr - 1];
551 endIndex = -1;
552 break;
553 default:
554 /* TODO */
555 return(NULL);
556 }
557
558 ret = xmlXPtrNewRangeInternal(start, -1, endNode, endIndex);
559 xmlXPtrRangeCheckOrder(ret);
560 return(ret);
561}
562
563#define XML_RANGESET_DEFAULT 10
564

Callers

nothing calls this directly

Calls 2

xmlXPtrNewRangeInternalFunction · 0.85
xmlXPtrRangeCheckOrderFunction · 0.85

Tested by

no test coverage detected