Commit a31c9fff authored by Dimitri van Heesch's avatar Dimitri van Heesch

Compilation fixes for Windows for new string implementation.

parent 79ed0650
...@@ -31,7 +31,7 @@ QCString &QCString::sprintf( const char *format, ... ) ...@@ -31,7 +31,7 @@ QCString &QCString::sprintf( const char *format, ... )
const int minlen=256; const int minlen=256;
if (length()<minlen) resize(minlen); if (length()<minlen) resize(minlen);
vsnprintf( data(), minlen, format, ap); vsnprintf( data(), minlen, format, ap);
resize(strlen(data())+1); resize(qstrlen(data())+1);
va_end( ap ); va_end( ap );
return *this; return *this;
} }
...@@ -68,10 +68,10 @@ int QCString::find( const char *str, int index, bool cs ) const ...@@ -68,10 +68,10 @@ int QCString::find( const char *str, int index, bool cs ) const
else // case insensitive else // case insensitive
{ {
pos = data(); pos = data();
int len = strlen(str); int len = qstrlen(str);
while (*pos) while (*pos)
{ {
if (strncasecmp(pos,str,len)==0) break; if (qstrnicmp(pos,str,len)==0) break;
pos++; pos++;
} }
if (!*pos) pos = 0; // not found if (!*pos) pos = 0; // not found
...@@ -124,7 +124,7 @@ int QCString::findRev( char c, int index, bool cs) const ...@@ -124,7 +124,7 @@ int QCString::findRev( char c, int index, bool cs) const
int QCString::findRev( const char *str, int index, bool cs) const int QCString::findRev( const char *str, int index, bool cs) const
{ {
int slen = strlen(str); int slen = qstrlen(str);
int len = length(); int len = length();
if (index<0) index = len-slen; // start from end if (index<0) index = len-slen; // start from end
else if (index>len) return -1; // bad index else if (index>len) return -1; // bad index
...@@ -133,11 +133,11 @@ int QCString::findRev( const char *str, int index, bool cs) const ...@@ -133,11 +133,11 @@ int QCString::findRev( const char *str, int index, bool cs) const
register char *pos = data()+index; register char *pos = data()+index;
if (cs) // case sensitive if (cs) // case sensitive
{ {
for (int i=index; i>=0; i--) if (strncmp(pos--,str,slen)==0) return i; for (int i=index; i>=0; i--) if (qstrncmp(pos--,str,slen)==0) return i;
} }
else // case insensitive else // case insensitive
{ {
for (int i=index; i>=0; i--) if (strncasecmp(pos,str,slen)==0) return i; for (int i=index; i>=0; i--) if (qstrnicmp(pos,str,slen)==0) return i;
} }
return -1; return -1;
} }
...@@ -174,16 +174,16 @@ int QCString::contains( const char *str, bool cs ) const ...@@ -174,16 +174,16 @@ int QCString::contains( const char *str, bool cs ) const
if (str==0 || length()==0) return 0; if (str==0 || length()==0) return 0;
int count=0; int count=0;
const char *pos = data(); const char *pos = data();
int len = strlen(str); int len = qstrlen(str);
while (*pos) while (*pos)
{ {
if (cs) if (cs)
{ {
if (strncmp(pos,str,len)==0) count++; if (qstrncmp(pos,str,len)==0) count++;
} }
else else
{ {
if (strncasecmp(pos,str,len)==0) count++; if (qstrnicmp(pos,str,len)==0) count++;
} }
pos++; pos++;
} }
...@@ -199,8 +199,8 @@ int QCString::contains( const QRegExp &rx ) const ...@@ -199,8 +199,8 @@ int QCString::contains( const QRegExp &rx ) const
bool QCString::stripPrefix(const char *prefix) bool QCString::stripPrefix(const char *prefix)
{ {
if (prefix==0 || length()==0) return FALSE; if (prefix==0 || length()==0) return FALSE;
int len = strlen(prefix); int len = qstrlen(prefix);
if (strncmp(prefix,data(),len)==0) if (qstrncmp(prefix,data(),len)==0)
{ {
int newlen = length()-len+1; int newlen = length()-len+1;
qmemmove(data(),data()+len,newlen); qmemmove(data(),data()+len,newlen);
...@@ -247,7 +247,7 @@ QCString QCString::mid( uint index, uint len) const ...@@ -247,7 +247,7 @@ QCString QCString::mid( uint index, uint len) const
{ {
int slen = length(); int slen = length();
if (len==0xffffffff) len = slen-index; if (len==0xffffffff) len = slen-index;
if (isEmpty() || (int)index>=slen) if (isEmpty() || (int)index>=slen || len==0)
{ {
return QCString(); return QCString();
} }
...@@ -255,7 +255,7 @@ QCString QCString::mid( uint index, uint len) const ...@@ -255,7 +255,7 @@ QCString QCString::mid( uint index, uint len) const
{ {
register char *p = data()+index; register char *p = data()+index;
QCString s(len+1); QCString s(len+1);
memcpy(s.data(),p,len); qstrncpy( s.data(), p, len+1 );
return s; return s;
} }
} }
...@@ -541,7 +541,7 @@ char *qstrdup( const char *str ) ...@@ -541,7 +541,7 @@ char *qstrdup( const char *str )
{ {
if ( !str ) if ( !str )
return 0; return 0;
char *dst = new char[strlen(str)+1]; char *dst = new char[qstrlen(str)+1];
CHECK_PTR( dst ); CHECK_PTR( dst );
return strcpy( dst, str ); return strcpy( dst, str );
} }
......
...@@ -896,11 +896,11 @@ QCString Definition::getSourceAnchor() const ...@@ -896,11 +896,11 @@ QCString Definition::getSourceAnchor() const
{ {
if (Htags::useHtags) if (Htags::useHtags)
{ {
snprintf(anchorStr,maxAnchorStrLen,"L%d",m_impl->body->startLine); qsnprintf(anchorStr,maxAnchorStrLen,"L%d",m_impl->body->startLine);
} }
else else
{ {
snprintf(anchorStr,maxAnchorStrLen,"l%05d",m_impl->body->startLine); qsnprintf(anchorStr,maxAnchorStrLen,"l%05d",m_impl->body->startLine);
} }
} }
return anchorStr; return anchorStr;
...@@ -1166,7 +1166,7 @@ void Definition::_writeSourceRefList(OutputList &ol,const char *scopeName, ...@@ -1166,7 +1166,7 @@ void Definition::_writeSourceRefList(OutputList &ol,const char *scopeName,
} }
const int maxLineNrStr = 10; const int maxLineNrStr = 10;
char anchorStr[maxLineNrStr]; char anchorStr[maxLineNrStr];
snprintf(anchorStr,maxLineNrStr,"l%05d",md->getStartBodyLine()); qsnprintf(anchorStr,maxLineNrStr,"l%05d",md->getStartBodyLine());
//printf("Write object link to %s\n",md->getBodyDef()->getSourceFileBase().data()); //printf("Write object link to %s\n",md->getBodyDef()->getSourceFileBase().data());
ol.writeObjectLink(0,md->getBodyDef()->getSourceFileBase(),anchorStr,name); ol.writeObjectLink(0,md->getBodyDef()->getSourceFileBase(),anchorStr,name);
ol.popGeneratorState(); ol.popGeneratorState();
......
...@@ -1311,8 +1311,8 @@ void HtmlCodeGenerator::writeLineNumber(const char *ref,const char *filename, ...@@ -1311,8 +1311,8 @@ void HtmlCodeGenerator::writeLineNumber(const char *ref,const char *filename,
const int maxLineNrStr = 10; const int maxLineNrStr = 10;
char lineNumber[maxLineNrStr]; char lineNumber[maxLineNrStr];
char lineAnchor[maxLineNrStr]; char lineAnchor[maxLineNrStr];
snprintf(lineNumber,maxLineNrStr,"%5d",l); qsnprintf(lineNumber,maxLineNrStr,"%5d",l);
snprintf(lineAnchor,maxLineNrStr,"l%05d",l); qsnprintf(lineAnchor,maxLineNrStr,"l%05d",l);
m_t << "<div class=\"line\">"; m_t << "<div class=\"line\">";
m_t << "<a name=\"" << lineAnchor << "\"></a><span class=\"lineno\">"; m_t << "<a name=\"" << lineAnchor << "\"></a><span class=\"lineno\">";
......
...@@ -2833,14 +2833,18 @@ tcl_inf("TCL_SUBST: use '%s'\n",s); ...@@ -2833,14 +2833,18 @@ tcl_inf("TCL_SUBST: use '%s'\n",s);
} }
} }
if (tcl.input_string.at(tcl.input_string.length()-1) == '\n') if (tcl.input_string.at(tcl.input_string.length()-1) == 0x1A)
{
}
else if (tcl.input_string.at(tcl.input_string.length()-1) == '\n')
{ {
tcl.input_string[tcl.input_string.length()-1] = 0x1A; tcl.input_string[tcl.input_string.length()-1] = 0x1A;
} }
else else
{ {
tcl.input_string += 0x1A; tcl.input_string += 0x1A;
} }
tcl.code = NULL; tcl.code = NULL;
tcl.code_font=NULL; tcl.code_font=NULL;
tcl.code_line=1; tcl.code_line=1;
......
...@@ -266,7 +266,7 @@ QCString generateMarker(int id) ...@@ -266,7 +266,7 @@ QCString generateMarker(int id)
{ {
const int maxMarkerStrLen = 20; const int maxMarkerStrLen = 20;
char result[maxMarkerStrLen]; char result[maxMarkerStrLen];
snprintf(result,maxMarkerStrLen,"@%d",id); qsnprintf(result,maxMarkerStrLen,"@%d",id);
return result; return result;
} }
...@@ -4916,7 +4916,7 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig) ...@@ -4916,7 +4916,7 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
const int maxAddrSize = 20; const int maxAddrSize = 20;
char addr[maxAddrSize]; char addr[maxAddrSize];
snprintf(addr,maxAddrSize,"%p:",fnDict); qsnprintf(addr,maxAddrSize,"%p:",fnDict);
QCString key = addr; QCString key = addr;
key+=n; key+=n;
......
...@@ -1328,7 +1328,7 @@ ...@@ -1328,7 +1328,7 @@
</FileConfiguration> </FileConfiguration>
</File> </File>
<File <File
RelativePath="..\qtools\scstring.cpp" RelativePath="..\qtools\qcstring.cpp"
> >
<FileConfiguration <FileConfiguration
Name="Release|Win32" Name="Release|Win32"
...@@ -1576,10 +1576,6 @@ ...@@ -1576,10 +1576,6 @@
RelativePath="..\qtools\qxml.h" RelativePath="..\qtools\qxml.h"
> >
</File> </File>
<File
RelativePath="..\qtools\scstring.h"
>
</File>
</Filter> </Filter>
</Files> </Files>
<Globals> <Globals>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment