From: John S. <joh...@or...> - 2006-08-28 10:11:16
|
Did this crash show up in XQTS? I'm asking because I'm wondering whether we need to start a new test suite to check regression about bugs that we find outside of XQTS. John #Alberto Massari wrote: > Update of /cvsroot/xqilla/xqilla/src/parser > In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv24421 > > Modified Files: > XQParser.cpp XQParser.y > Log Message: > Fixed crash when evaluating > > <test>{"hello"}  > </test> > > Index: XQParser.cpp > =================================================================== > RCS file: /cvsroot/xqilla/xqilla/src/parser/XQParser.cpp,v > retrieving revision 1.4 > retrieving revision 1.5 > diff -C2 -d -r1.4 -r1.5 > *** XQParser.cpp 22 Aug 2006 15:55:53 -0000 1.4 > --- XQParser.cpp 28 Aug 2006 09:51:41 -0000 1.5 > *************** > *** 1306,1327 **** > 2378, 2379, 2380, 2385, 2397, 2439, 2442, 2474, 2478, 2488, > 2491, 2499, 2504, 2509, 2520, 2523, 2531, 2536, 2541, 2557, > ! 2560, 2581, 2610, 2629, 2651, 2667, 2668, 2669, 2673, 2682, > ! 2698, 2724, 2744, 2745, 2746, 2747, 2748, 2749, 2754, 2772, > ! 2786, 2798, 2807, 2818, 2823, 2836, 2848, 2856, 2867, 2877, > ! 2887, 2900, 2912, 2920, 2931, 2938, 2949, 2959, 2966, 2973, > ! 2982, 2984, 2986, 2992, 2996, 3001, 3009, 3025, 3026, 3027, > ! 3028, 3029, 3030, 3031, 3032, 3033, 3038, 3048, 3054, 3063, > ! 3076, 3086, 3096, 3102, 3108, 3118, 3124, 3130, 3140, 3141, > ! 3149, 3159, 3164, 3170, 3176, 3182, 3194, 3195, 3203, 3213, > [...1862 lines suppressed...] > yyvsp -= yylen; > --- 6551,6555 ---- > > /* Line 1126 of yacc.c. */ > ! #line 6554 "XQParser.cpp" > > yyvsp -= yylen; > *************** > *** 6823,6827 **** > > > ! #line 3785 "XQParser.y" > > > --- 6826,6830 ---- > > > ! #line 3788 "XQParser.y" > > > > Index: XQParser.y > =================================================================== > RCS file: /cvsroot/xqilla/xqilla/src/parser/XQParser.y,v > retrieving revision 1.5 > retrieving revision 1.6 > diff -C2 -d -r1.5 -r1.6 > *** XQParser.y 22 Aug 2006 15:55:53 -0000 1.5 > --- XQParser.y 28 Aug 2006 09:51:41 -0000 1.6 > *************** > *** 2567,2571 **** > if($$->back()==0) > $$->pop_back(); > ! else if($$->back()->getType()==ASTNode::LITERAL) > { > const XMLCh* lastString=NULL; > --- 2567,2571 ---- > if($$->back()==0) > $$->pop_back(); > ! else if(!CONTEXT->getPreserveBoundarySpace() && $$->back()->getType()==ASTNode::LITERAL) > { > const XMLCh* lastString=NULL; > *************** > *** 2573,2577 **** > if(((AnyAtomicType*)(const Item*)litVal)->getPrimitiveTypeIndex()==AnyAtomicType::STRING) > lastString=litVal->asString(CONTEXT); > ! if(lastString!=NULL && XERCES_CPP_NAMESPACE_QUALIFIER XMLString::stringLen(lastString)>0 && isAllSpaces(lastString) && !CONTEXT->getPreserveBoundarySpace()) > $$->pop_back(); > } > --- 2573,2577 ---- > if(((AnyAtomicType*)(const Item*)litVal)->getPrimitiveTypeIndex()==AnyAtomicType::STRING) > lastString=litVal->asString(CONTEXT); > ! if(lastString!=NULL && *lastString!=0 && isAllSpaces(lastString)) > $$->pop_back(); > } > *************** > *** 2616,2620 **** > // if the last token was a string literal made of whitespace and > // we are adding a node constructor, and the context tells us to strip whitespace, remove it > ! if($$->size()>0 && $$->back()->getType()==ASTNode::LITERAL) > { > const XMLCh* lastString=NULL; > --- 2616,2620 ---- > // if the last token was a string literal made of whitespace and > // we are adding a node constructor, and the context tells us to strip whitespace, remove it > ! if(!CONTEXT->getPreserveBoundarySpace() && $$->size()>0 && $$->back()->getType()==ASTNode::LITERAL) > { > const XMLCh* lastString=NULL; > *************** > *** 2622,2626 **** > if(((AnyAtomicType*)(const Item*)litVal)->getPrimitiveTypeIndex()==AnyAtomicType::STRING) > lastString=litVal->asString(CONTEXT); > ! if(lastString!=NULL && XERCES_CPP_NAMESPACE_QUALIFIER XMLString::stringLen(lastString)>0 && isAllSpaces(lastString) && !CONTEXT->getPreserveBoundarySpace()) > $$->pop_back(); > } > --- 2622,2626 ---- > if(((AnyAtomicType*)(const Item*)litVal)->getPrimitiveTypeIndex()==AnyAtomicType::STRING) > lastString=litVal->asString(CONTEXT); > ! if(lastString!=NULL && *lastString!=0 && isAllSpaces(lastString)) > $$->pop_back(); > } > *************** > *** 2636,2640 **** > if($$->back()==0) > $$->pop_back(); > ! else if($$->back()->getType()==ASTNode::LITERAL) > { > const XMLCh* lastString=NULL; > --- 2636,2640 ---- > if($$->back()==0) > $$->pop_back(); > ! else if(!CONTEXT->getPreserveBoundarySpace() && $$->back()->getType()==ASTNode::LITERAL) > { > const XMLCh* lastString=NULL; > *************** > *** 2642,2646 **** > if(((AnyAtomicType*)(const Item*)litVal)->getPrimitiveTypeIndex()==AnyAtomicType::STRING) > lastString=litVal->asString(CONTEXT); > ! if(lastString!=NULL && XERCES_CPP_NAMESPACE_QUALIFIER XMLString::stringLen(lastString)>0 && isAllSpaces(lastString) && !CONTEXT->getPreserveBoundarySpace()) > $$->pop_back(); > } > --- 2642,2646 ---- > if(((AnyAtomicType*)(const Item*)litVal)->getPrimitiveTypeIndex()==AnyAtomicType::STRING) > lastString=litVal->asString(CONTEXT); > ! if(lastString!=NULL && *lastString!=0 && isAllSpaces(lastString)) > $$->pop_back(); > } > *************** > *** 2652,2655 **** > --- 2652,2658 ---- > { > $$ = $1; > + if($$->size()>0 && $$->back()==0) > + $$->pop_back(); > + > AnyAtomicTypeConstructor *ic = new (MEMMGR) > AnyAtomicTypeConstructor( > > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > XQilla-devel mailing list > XQi...@li... > https://lists.sourceforge.net/lists/listinfo/xqilla-devel |