--- jevio_old/evio-4.3/java/org/jlab/coda/jevio/CompositeData.java 2014-01-16 10:05:06.000000000 -0800 +++ evio-4.3/java/org/jlab/coda/jevio/CompositeData.java 2015-01-23 19:37:54.000000000 -0800 @@ -2518,6 +2518,13 @@ // left parenthesis - set new lv[] if (kcnf == 0) { + if (ncnf==0) { //special case: if N=0, skip to the right paren + iterm = imt-1; + while (formatInts.get(imt-1)!=0) { + imt++; + } + continue; + } // store formatInts[] index lv[lev].left = imt; // how many time will repeat format code inside parenthesis @@ -2931,14 +2938,24 @@ // left parenthesis - set new lv[] if (kcnf == 0) { - lv[lev].left = imt; - lv[lev].nrepeat = ncnf; - lv[lev].irepeat = 0; - xmlWriter.writeCharacters("\n"); xmlWriter.writeCharacters(bs.xmlIndent); xmlWriter.writeStartElement("repeat"); xmlWriter.writeAttribute("count",""+ncnf); + if (ncnf==0) { //special case: if N=0, skip to the right paren + iterm = imt-1; + while (formatInts.get(imt-1)!=0) { + imt++; + } + xmlWriter.writeCharacters("\n"); + xmlWriter.writeCharacters(bs.xmlIndent); + xmlWriter.writeEndElement();// + continue; + } + lv[lev].left = imt; + lv[lev].nrepeat = ncnf; + lv[lev].irepeat = 0; + bs.increaseXmlIndent(); lev++; @@ -3362,6 +3379,13 @@ // left parenthesis - set new lv[] if (kcnf == 0) { + if (ncnf==0) { //special case: if N=0, skip to the right paren + iterm = imt-1; + while (formatInts.get(imt-1)!=0) { + imt++; + } + continue; + } lv[lev].left = imt; lv[lev].nrepeat = ncnf; lv[lev].irepeat = 0;