--- util/nad.c.orig Tue Oct 26 23:15:02 2004 +++ util/nad.c Tue Oct 26 23:17:18 2004 @@ -639,25 +639,27 @@ /* check for ]]>, we need to escape the > */ while(flag >= 1 && (c = memchr(nad->cdata + data, '>', len)) != NULL) { - ic = c - nad->cdata; - _nad_escape(nad, data, ic - data, 0); /* check for the sequence */ if(c >= nad->cdata + 2 && c[-1] == ']' && c[-2] == ']') { + ic = c - nad->cdata; + _nad_escape(nad, data, ic - data, 0); /* ensure enough space, and add our escaped > */ NAD_SAFE(nad->cdata, nad->ccur + 4, nad->clen); memcpy(nad->cdata + nad->ccur, ">", 4); nad->ccur += 4; } /* otherwise, just plug the > in as-is */ else { + ic = c - nad->cdata; + _nad_escape(nad, data, ic - data, 0); NAD_SAFE(nad->cdata, nad->ccur + 1, nad->clen); *(nad->cdata + nad->ccur) = '>'; nad->ccur++; }