From e4aca335e2617b31aacf939df32a4cc5ff84a67d Mon Sep 17 00:00:00 2001 From: Laurence Withers Date: Fri, 5 Jan 2007 11:54:57 +0000 Subject: [PATCH] Don't reset line/col on restart marker. Check for duplicate attributes. Bump version. --- src/libCStreamedXML/parser.c | 6 ++++-- src/libCStreamedXML/soversion | 2 +- version | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/libCStreamedXML/parser.c b/src/libCStreamedXML/parser.c index 7efea85..aa5f9f6 100644 --- a/src/libCStreamedXML/parser.c +++ b/src/libCStreamedXML/parser.c @@ -454,6 +454,10 @@ int csxml_feedChar(struct csxml* ctx, char ch) default: if(ch != '=') ERROR("Invalid character in attribute name."); + for(try = 0; (size_t)try < ctx->elemAttrNames.size; ++try) { + if(!strcmp(ctx->elemAttrNames.data[try].data, ctx->buffer.data)) + ERROR("Duplicate attribute in element."); + } TRY(list_push(ctx, &ctx->elemAttrNames, &ctx->buffer)); CLEAR_BUFFER(buffer); ctx->state = StateElemAttrEq; @@ -619,8 +623,6 @@ void csxml_reset(struct csxml* ctx) ctx->restartCount = 0; ctx->skipNextNewline = 0; ctx->parsingAttr = 0; - ctx->line = 0; - ctx->col = 0; ctx->elemStack.len = 0; ctx->elemAttrNames.len = 0; ctx->elemAttrVals.len = 0; diff --git a/src/libCStreamedXML/soversion b/src/libCStreamedXML/soversion index d840856..b9c8daf 100644 --- a/src/libCStreamedXML/soversion +++ b/src/libCStreamedXML/soversion @@ -14,4 +14,4 @@ SOMAJOR=0 SOMINOR=0 # SOMICRO is bumped every time there is a binary-compatible release. -SOMICRO=5 +SOMICRO=6 diff --git a/version b/version index 2d3b4b3..e641f24 100644 --- a/version +++ b/version @@ -11,8 +11,8 @@ # expected to be in 'major.minor.micro' format. It can optionally be # suffixed with a string. VERMAJOR=1 -VERMINOR=2 -VERMICRO=9 +VERMINOR=3 +VERMICRO=0 VEREXTRA="" # kate: replace-trailing-space-save true; space-indent true; tab-width 4;