fix compilation in Unicode build (not sure if this fixes run-time behaviour though...)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48991 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2007-09-30 00:58:14 +00:00
parent 09e89ab1b6
commit 7262371cd7
4 changed files with 48 additions and 52 deletions

View File

@ -55,10 +55,6 @@
#pragma hdrstop
#endif
#if wxUSE_UNICODE
#error "HelpGen doesn't build in Unicode mode"
#endif
#ifndef WX_PRECOMP
#include "wx/string.h"
#include "wx/log.h"
@ -82,10 +78,10 @@
// -----------------------------------------------------------------------------
// return the label for the given function name (i.e. argument of \label)
static wxString MakeLabel(const wxChar *classname, const wxChar *funcname = NULL);
static wxString MakeLabel(const char *classname, const char *funcname = NULL);
// return the whole \helpref{arg}{arg_label} string
static wxString MakeHelpref(const wxChar *argument);
static wxString MakeHelpref(const char *argument);
// [un]quote special TeX characters (in place)
static void TeXFilter(wxString* str);
@ -385,7 +381,7 @@ protected:
// returns the length of 'match' if the string 'str' starts with it or 0
// otherwise
static size_t TryMatch(const wxChar *str, const wxChar *match);
static size_t TryMatch(const char *str, const char *match);
// skip spaces: returns pointer to first non space character (also
// updates the value of m_line)
@ -1068,7 +1064,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
baseHeaderName.erase(0, 3);
for ( index = 0; index < WXSIZEOF(headers); index++ ) {
if ( Stricmp(baseHeaderName, headers[index]) == 0 )
if ( wxStricmp(baseHeaderName, headers[index]) == 0 )
break;
}

View File

@ -38,7 +38,7 @@
// statics used by inline'ed C helper-functions
static char* _gSrcStart = 0;
static char* _gSrcEnd = 0;
static wxChar* _gLastSuppresedComment = 0;
static char* _gLastSuppresedComment = 0;
static int _gLineNo = 0;
// FOR NOW:: comments queue is static
@ -382,13 +382,13 @@ static inline bool get_next_token( char*& cur )
return true;
}
static inline void skip_preprocessor_dir( wxChar*& cur )
static inline void skip_preprocessor_dir( char*& cur )
{
do
{
skip_to_eol(cur);
if ( *(cur-1) != _T('\\') )
if ( *(cur-1) != '\\' )
break;
if ( cur < _gSrcEnd )
@ -899,8 +899,8 @@ static void arrange_indirection_tokens_between( wxString& type,
{
// TBD:: FIXME:: return value of operators !
while ( identifier[0u] == _T('*') ||
identifier[0u] == _T('&')
while ( identifier[0u] == '*' ||
identifier[0u] == '&'
)
{
type += identifier[0u];
@ -931,33 +931,33 @@ static bool is_keyword( char* cur )
return i == __gMultiLangMap.end() ? false : true;
}
static inline void get_string_between( wxChar* start, wxChar* end,
static inline void get_string_between( char* start, char* end,
wxString* pStr )
{
char saved = *end;
*end = _T('\0');
*end = '\0';
*pStr = start;
*end = saved;
}
static wxChar* set_comment_text( wxString& text, wxChar* start )
static char* set_comment_text( wxString& text, char* start )
{
wxChar* end = start;
char* end = start;
// to avoid poluting the queue with this comment
_gLastSuppresedComment = start;
skip_comments( end );
if ( *(end-1) == _T('/') )
if ( *(end-1) == '/' )
end -= 2;
start += 2;
// skip multiple leading '/''s or '*''s
while( *start == _T('/') && start < end ) ++start;
while( *start == _T('*') && start < end ) ++start;
while( *start == '/' && start < end ) ++start;
while( *start == '*' && start < end ) ++start;
get_string_between( start, end, &text );
@ -1064,13 +1064,13 @@ spFile* CJSourceParser::Parse( char* start, char* end )
continue;
}
if ( *m_cur >= _T('0') && *m_cur <= _T('9') )
if ( *m_cur >= '0' && *m_cur <= '9' )
{
skip_token( m_cur );
continue;
}
if ( *m_cur == _T('}') )
if ( *m_cur == '}' )
{
if ( mCurCtxType != SP_CTX_CLASS )
{
@ -1186,13 +1186,13 @@ spFile* CJSourceParser::Parse( char* start, char* end )
} while( 1 );
}
void CJSourceParser::AttachComments( spContext& ctx, wxChar* cur )
void CJSourceParser::AttachComments( spContext& ctx, char* cur )
{
if ( !mCommentsOn ) return;
MCommentListT& lst = ctx.GetCommentList();
wxChar* prevComEnd = 0;
char* prevComEnd = 0;
int tmpLnNo;
store_line_no( tmpLnNo );
@ -1205,9 +1205,9 @@ void CJSourceParser::AttachComments( spContext& ctx, wxChar* cur )
lst.push_back( pComment );
// find the end of comment
wxChar* start = _gCommentsQueue[i];
char* start = _gCommentsQueue[i];
pComment->mIsMultiline = ( *(start+1) == _T('*') );
pComment->mIsMultiline = ( *(start+1) == '*' );
// first comment in the queue and multiline
// comments are always treated as a begining
@ -1226,7 +1226,7 @@ void CJSourceParser::AttachComments( spContext& ctx, wxChar* cur )
// find out wheather there is a new-line
// between to adjecent comments
wxChar* prevLine = start;
char* prevLine = start;
skip_to_prev_line(prevLine);
if ( prevLine >= prevComEnd )
@ -1249,7 +1249,7 @@ void CJSourceParser::AttachComments( spContext& ctx, wxChar* cur )
set_comment_text( pComment->m_Text, cur );
pComment->mStartsPar = 1;
pComment->mIsMultiline = ( *(cur+1) == _T('*') );
pComment->mIsMultiline = ( *(cur+1) == '*' );
// mark this comment, so that it would not
// get in the comments list of the next context
@ -1261,9 +1261,9 @@ void CJSourceParser::AttachComments( spContext& ctx, wxChar* cur )
clear_commets_queue();
}
void CJSourceParser::AddMacroNode( wxChar*& cur )
void CJSourceParser::AddMacroNode( char*& cur )
{
wxChar* start = cur;
char* start = cur;
int lineNo = get_line_no();
@ -1290,9 +1290,9 @@ void CJSourceParser::AddMacroNode( wxChar*& cur )
// determine the type exactly and assign
// a name to the context
if ( *start == _T('d') )
if ( *start == 'd' )
{
if ( cmp_tokens_fast( start, _T("define"), 6 ) )
if ( cmp_tokens_fast( start, "define", 6 ) )
{
char* tok = start+6;
@ -1310,13 +1310,13 @@ void CJSourceParser::AddMacroNode( wxChar*& cur )
pPL->mDefType = SP_PREP_DEF_REDEFINE_SYMBOL;
}
}
else if ( *start == _T('i') )
else if ( *start == 'i' )
{
if ( cmp_tokens_fast( start, _T("include"), 7 ) )
if ( cmp_tokens_fast( start, "include", 7 ) )
{
pPL->mDefType = SP_PREP_DEF_INCLUDE_FILE;
}
else if ( *++start == _T('f') )
else if ( *++start == 'f' )
{
// either "#if" or "#ifdef"
cur = start;
@ -1326,14 +1326,14 @@ void CJSourceParser::AddMacroNode( wxChar*& cur )
wxString condition = get_token_str( cur );
// currently, everything except '0' is true
if ( condition == _T("0") ) {
if ( condition == "0" ) {
// skip until the following else or enif
while ( cur < _gSrcEnd ) {
skip_to_eol( cur );
skip_eol( cur );
get_next_token( cur );
if ( *cur++ == _T('#') && *cur == _T('e') )
if ( *cur++ == '#' && *cur == 'e' )
break;
}
}
@ -1341,7 +1341,7 @@ void CJSourceParser::AddMacroNode( wxChar*& cur )
// TODO parse the condition...
}
}
else if ( cmp_tokens_fast( start, _T("else"), 4 ) )
else if ( cmp_tokens_fast( start, "else", 4 ) )
{
// skip until "#endif"
while ( cur < _gSrcEnd ) {
@ -1349,7 +1349,7 @@ void CJSourceParser::AddMacroNode( wxChar*& cur )
skip_eol( cur );
get_next_token( cur );
if ( *cur++ == _T('#') && cmp_tokens_fast( cur, "endif", 5 ) )
if ( *cur++ == '#' && cmp_tokens_fast( cur, "endif", 5 ) )
break;
}
}
@ -1876,7 +1876,7 @@ void CJSourceParser::ParseMemberVar( char*& cur )
// if comma, than variable list continues
// otherwise the variable type reached - stop
if ( *cur == _T('=') )
if ( *cur == '=' )
{
// yes, we've mistaken, it was not a identifier,
// but it's default value
@ -2189,10 +2189,10 @@ void CJSourceParser::AddClassNode( char*& cur )
clear_commets_queue();
}
void CJSourceParser::AddEnumNode( wxChar*& cur )
void CJSourceParser::AddEnumNode( char*& cur )
{
// now the cursor is at "enum" keyword
wxChar* start = cur;
char* start = cur;
spEnumeration* pEnum = new spEnumeration();
mpCurCtx->AddMember( pEnum );
@ -2226,13 +2226,13 @@ void CJSourceParser::AddEnumNode( wxChar*& cur )
clear_commets_queue();
}
void CJSourceParser::AddTypeDefNode( wxChar*& cur )
void CJSourceParser::AddTypeDefNode( char*& cur )
{
// now the cursor at the token next to "typedef" keyword
if ( !get_next_token(cur) ) return;
wxChar* start = cur;
char* start = cur;
spTypeDef* pTDef = new spTypeDef();
mpCurCtx->AddMember( pTDef );
@ -2246,18 +2246,18 @@ void CJSourceParser::AddTypeDefNode( wxChar*& cur )
int tmpLnNo;
store_line_no( tmpLnNo );
wxChar* tok = cur-1;
char* tok = cur-1;
skip_next_token_back( tok );
wxChar* nameEnd = tok;
char* nameEnd = tok;
skip_token_back( tok );
wxChar* nameStart = tok;
char* nameStart = tok;
skip_next_token_back( tok );
wxChar* typeEnd = tok;
char* typeEnd = tok;
// check if it's function prototype
if ( *nameStart == ')' )

View File

@ -34,17 +34,17 @@ class CJSourceParser : public SourceParserBase
{
protected:
// begining of the full-text area of the source file
wxChar* mpStart;
char* mpStart;
// points to first character after the end
// of teh full-text area
wxChar* mpEnd;
char* mpEnd;
// current "privacy level"
int mCurVis;
// current parsing position int full-text area
wxChar* m_cur;
char* m_cur;
// about the current class
bool mIsVirtual;

View File

@ -225,7 +225,7 @@ void RipperDocGen::AppendMulitilineStr( wxString& st, wxString& mlStr )
void RipperDocGen::AppendHighlightedSource( wxString& st, wxString source )
{
// FIXME:: below should not be fixed :)
wxChar buf[1024*32];
char buf[1024*32];
// DBG:::
// ASSERT( source.length() + 1 < sizeof(buf) );