#include <ctype.h>
#include "tex2any.h"
-#if !WXWIN_COMPATIBILITY_2_4
static inline wxChar* copystring(const wxChar* s)
{ return wxStrcpy(new wxChar[wxStrlen(s) + 1], s); }
-#endif
wxHashTable TexReferences(wxKEY_STRING);
wxList BibList(wxKEY_STRING);
*
*/
-void StartSimulateArgument(wxChar *data)
+void StartSimulateArgument(const wxChar *data)
{
wxStrcpy(currentArgData, data);
haveArgData = true;
*
*/
-int ParseUnitArgument(wxChar *unitArg)
+int ParseUnitArgument(const wxChar *unitArg_)
{
+ wxWxCharBuffer unitBuf(unitArg_);
+ wxChar *unitArg = unitBuf.data();
+
float conversionFactor = 1.0;
float unitValue = 0.0;
int len = wxStrlen(unitArg);
// were massive memory leaks
TexReferences.DeleteContents(true);
TexReferences.Put(
- labelStr.c_str(),
+ labelStr,
new TexRef(
labelStr.c_str(),
fileStr.c_str(),
{
while(!line.empty() && (line[0] == _T(' ') || line[0] == _T('\t') || line[0] == (wxChar)EOF))
{
- if (line[0] == 10)
+ if (line[0] == '\r')
BibLine ++;
line = line.substr(1);
}
// Ignore end-of-line comments
- if (line[0] == _T('%') || line[0] == _T(';') || line[0] == _T('#'))
+ if ( !line.empty() && (line[0] == _T('%') || line[0] == _T(';') || line[0] == _T('#')))
{
- line = wxEmptyString;
+ line.clear();
}
}
// If in quotes, read white space too. If not,
// stop at white space or comment.
while (!line.empty() && line[0] != _T('"') &&
- (inQuotes || ((line[0] != _T(' ')) && (line[0] != 9) &&
+ (inQuotes || ((line[0] != _T(' ')) && (line[0] != '\t') &&
(line[0] != _T(';')) && (line[0] != _T('%')) && (line[0] != _T('#')))))
{
val << line[0];
line = line.substr(1);
}
- if (line[0] == '"')
+ if (!line.empty() && line[0] == '"')
line = line.substr(1);
return val;
wxUnusedVar(stopping);
}
-bool ReadBib(wxChar *filename)
+bool ReadBib(const wxChar *filename)
{
if (!wxFileExists(filename))
return false;
}
// Remember we need to resolve this citation
-void AddCitation(wxChar *citeKey)
+void AddCitation(const wxChar *citeKey)
{
if (!CitationList.Member(citeKey))
CitationList.Add(citeKey);
}
}
-TexRef *FindReference(wxChar *key)
+TexRef *FindReference(const wxChar *key)
{
return (TexRef *)TexReferences.Get(key);
}
up.MakeUpper();
if (up.IsSameAs(_T("YES")) ||
+ up.IsSameAs(_T("TRUE")) ||
up.IsSameAs(_T("ON")) ||
up.IsSameAs(_T("OK")) |
up.IsSameAs(_T("1")))
macro->macroBody = copystring(macroBody.c_str());
BibEatWhiteSpace(line);
- CustomMacroList.Append(macroName.c_str(), macro);
+ CustomMacroList.Append(macroName, macro);
AddMacroDef(ltCUSTOM_MACRO, macroName.c_str(), noArgs);
}