[Igarden-commit] Garden/source/Plugins PictureInfo.cpp, 1.6, 1.6.2.1
Status: Beta
Brought to you by:
jlbedell
|
From: Jeffrey B. <jlb...@us...> - 2007-02-07 23:53:27
|
Update of /cvsroot/igarden/Garden/source/Plugins In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv19017 Modified Files: Tag: Release_branch_v1 PictureInfo.cpp Log Message: FIx tag search to not be fooled by the substring somewhere else. Index: PictureInfo.cpp =================================================================== RCS file: /cvsroot/igarden/Garden/source/Plugins/PictureInfo.cpp,v retrieving revision 1.6 retrieving revision 1.6.2.1 diff -C2 -d -r1.6 -r1.6.2.1 *** PictureInfo.cpp 27 Jun 2006 01:06:07 -0000 1.6 --- PictureInfo.cpp 7 Feb 2007 23:53:16 -0000 1.6.2.1 *************** *** 144,147 **** --- 144,148 ---- { char *start, *end; + bool found = false; start = CIstrstr(input, tag); *************** *** 149,152 **** --- 150,163 ---- { start += strlen(tag); + while(start != NULL && *start != '=') + { + start = CIstrstr(start, tag); + if(start != NULL) + start += strlen(tag); + } + } + + if(start != NULL) + { if(*start == '=') { *************** *** 159,166 **** --- 170,181 ---- { result.SetCString(start, end-start); + found = true; } } } } + + if(!found) + result.SetCString(""); } *************** *** 212,218 **** void PictureInfo::SetEncodedString(String &str) { ! String idStr; const char *oneItemPtr; char *substitutePtr = NULL; long srcLen; --- 227,234 ---- void PictureInfo::SetEncodedString(String &str) { ! String idStr, cvtStr; const char *oneItemPtr; char *substitutePtr = NULL; + char *itemXMLPtr = NULL; long srcLen; *************** *** 228,244 **** } ! if(*oneItemPtr == '<') ! { ! FindTagValue("href", oneItemPtr, _url); ! FindTagValue("src", oneItemPtr, _srcPath); ! FindTagValue("common", oneItemPtr, _commonName); ! FindTagValue("canon", oneItemPtr, _fullCanonical); ! FindTagValue("right", oneItemPtr, _copyright); ! FindTagValue("by", oneItemPtr, _createdBy); ! FindTagValue("supplier", oneItemPtr, idStr); ! _supplierID.ConvertFromString(idStr.c_str()); ! } ! else ! _srcPath = str; if(substitutePtr != NULL) --- 244,268 ---- } ! FindTagValue("href", oneItemPtr, _url); ! FindTagValue("src", oneItemPtr, _srcPath); ! FindTagValue("common", oneItemPtr, _commonName); ! FindTagValue("canon", oneItemPtr, _fullCanonical); ! ! FindTagValue("right", oneItemPtr, cvtStr); ! srcLen = cvtStr.Length(); ! itemXMLPtr = new char[srcLen+1]; ! ConvertSGMLEscapes(itemXMLPtr, cvtStr.c_str(), srcLen+1); ! _copyright.SetCString(itemXMLPtr); ! delete [] itemXMLPtr; ! ! FindTagValue("by", oneItemPtr, cvtStr); ! srcLen = cvtStr.Length(); ! itemXMLPtr = new char[srcLen+1]; ! ConvertSGMLEscapes(itemXMLPtr, cvtStr.c_str(), srcLen+1); ! _createdBy.SetCString(itemXMLPtr); ! delete [] itemXMLPtr; ! ! FindTagValue("supplier", oneItemPtr, idStr); ! _supplierID.ConvertFromString(idStr.c_str()); if(substitutePtr != NULL) |