]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/HelpGen/src/HelpGen.cpp
Use $ on variables!!!
[wxWidgets.git] / utils / HelpGen / src / HelpGen.cpp
index 3f8541a125f1295c8d6dfea6683190fc433c3643..d2dc393cd222449b3fc74d46f342060fb2473e63 100644 (file)
 // headers
 // -----------------------------------------------------------------------------
 
-// wxWindows
+// wxWidgets
 #include "wx/wxprec.h"
 
+#ifdef __BORLANDC__
+    #pragma hdrstop
+#endif
+
 #ifndef WX_PRECOMP
     #include "wx/string.h"
     #include "wx/log.h"
 #include <stdio.h>
 #include <time.h>
 
-// argh, Windows defines this
-#ifdef GetCurrentTime
-#undef GetCurrentTime
-#endif
-
 // -----------------------------------------------------------------------------
 // private functions
 // -----------------------------------------------------------------------------
 
 // return the label for the given function name (i.e. argument of \label)
-static wxString MakeLabel(const char *classname, const char *funcname = NULL);
+static wxString MakeLabel(const wxChar *classname, const wxChar *funcname = NULL);
 
 // return the whole \helpref{arg}{arg_label} string
-static wxString MakeHelpref(const char *argument);
+static wxString MakeHelpref(const wxChar *argument);
 
 // [un]quote special TeX characters (in place)
 static void TeXFilter(wxString* str);
@@ -93,7 +92,7 @@ static wxString GetAllComments(const spContext& ctx);
 
 // get the string with current time (returns pointer to static buffer)
 // timeFormat is used for the call of strftime(3)
-static const char *GetCurrentTime(const char *timeFormat);
+static const char *GetCurrentTimeFormatted(const char *timeFormat);
 
 // get the string containing the program version
 static const wxString GetVersionString();
@@ -137,7 +136,7 @@ struct FunctionDocEntry
                 return 1;
             }
 
-            wxString dtorname = wxString('~') + classname;
+            wxString dtorname = wxString(_T("~")) + classname;
 
             // there is only one dtor, so the logic here is simpler
             if ( (*pp1)->name == dtorname ) {
@@ -148,7 +147,7 @@ struct FunctionDocEntry
             }
 
             // two normal methods
-            return strcmp((*pp1)->name, (*pp2)->name);
+            return wxStrcmp((*pp1)->name, (*pp2)->name);
         }
     }
 
@@ -191,17 +190,17 @@ public:
     bool FlushAll()
     {
         if ( m_text.empty() )
-            return TRUE;
+            return true;
 
         if ( !Write(m_text) ) {
-            wxLogError("Failed to output generated documentation.");
+            wxLogError(_T("Failed to output generated documentation."));
 
-            return FALSE;
+            return false;
         }
 
         m_text.clear();
 
-        return TRUE;
+        return true;
     }
 
 private:
@@ -223,22 +222,22 @@ public:
     // already have)
     bool AddNamesFromFile(const wxString& filename);
 
-    // return TRUE if we ignore this function
+    // return true if we ignore this function
     bool IgnoreMethod(const wxString& classname,
                       const wxString& funcname) const
     {
         if ( IgnoreClass(classname) )
-            return TRUE;
+            return true;
 
         IgnoreListEntry ignore(classname, funcname);
 
         return m_ignore.Index(&ignore) != wxNOT_FOUND;
     }
 
-    // return TRUE if we ignore this class entirely
+    // return true if we ignore this class entirely
     bool IgnoreClass(const wxString& classname) const
     {
-        IgnoreListEntry ignore(classname, "");
+        IgnoreListEntry ignore(classname, _T(""));
 
         return m_ignore.Index(&ignore) != wxNOT_FOUND;
     }
@@ -321,7 +320,7 @@ protected:
     wxTeXFile m_file;           // file we're writing to now
 
     // state variables
-    bool m_inClass,         // TRUE after file successfully opened
+    bool m_inClass,         // true after file successfully opened
          m_inTypesSection,  // enums & typedefs go there
          m_inMethodSection, // functions go here
          m_isFirstParam;    // first parameter of current function?
@@ -367,10 +366,10 @@ public:
     DocManager(bool checkParamNames);
     ~DocManager();
 
-    // returns FALSE on failure
+    // returns false on failure
     bool ParseTeXFile(const wxString& filename);
 
-    // returns FALSE if there were any differences
+    // returns false if there were any differences
     bool DumpDifferences(spContext *ctxTop) const;
 
     // get our `ignore' object
@@ -382,7 +381,7 @@ protected:
 
     // returns the length of 'match' if the string 'str' starts with it or 0
     // otherwise
-    static size_t TryMatch(const char *str, const char *match);
+    static size_t TryMatch(const wxChar *str, const wxChar *match);
 
     // skip spaces: returns pointer to first non space character (also
     // updates the value of m_line)
@@ -397,12 +396,12 @@ protected:
     }
 
     // skips characters until the next 'c' in '*pp' unless it ends before in
-    // which case FALSE is returned and pp points to '\0', otherwise TRUE is
+    // which case false is returned and pp points to '\0', otherwise true is
     // returned and pp points to 'c'
     bool SkipUntil(const char **pp, char c);
 
     // the same as SkipUntil() but only spaces are skipped: on first non space
-    // character different from 'c' the function stops and returns FALSE
+    // character different from 'c' the function stops and returns false
     bool SkipSpaceUntil(const char **pp, char c);
 
     // extract the string between {} and modify '*pp' to point at the
@@ -463,7 +462,7 @@ protected:
     };
 
 public: // FIXME: macro requires it
-    WX_DEFINE_ARRAY(ParamInfo *, ArrayParamInfo);
+    WX_DEFINE_ARRAY_PTR(ParamInfo *, ArrayParamInfo);
 
     // info about a function
     struct MethodInfo
@@ -505,8 +504,8 @@ public: // FIXME: macro requires it
         ArrayParamInfo m_params;
     };
 
-    WX_DEFINE_ARRAY(MethodInfo *, ArrayMethodInfo);
-    WX_DEFINE_ARRAY(ArrayMethodInfo *, ArrayMethodInfos);
+    WX_DEFINE_ARRAY_PTR(MethodInfo *, ArrayMethodInfo);
+    WX_DEFINE_ARRAY_PTR(ArrayMethodInfo *, ArrayMethodInfos);
 
 private:
     // first array contains the names of all classes we found, the second has a
@@ -575,7 +574,7 @@ int main(int argc, char **argv)
     wxInitializer initializer;
     if ( !initializer )
     {
-        fprintf(stderr, "Failed to initialize the wxWindows library, aborting.");
+        fprintf(stderr, "Failed to initialize the wxWidgets library, aborting.");
 
         return -1;
     }
@@ -594,8 +593,8 @@ int main(int argc, char **argv)
     wxArrayString filesH, filesTeX;
     wxString directoryOut,      // directory for 'dmup' output
              ignoreFile;        // file with classes/functions to ignore
-    bool overwrite = FALSE,     // overwrite existing files during 'dump'?
-         paramNames = FALSE;    // check param names during 'diff'?
+    bool overwrite = false,     // overwrite existing files during 'dump'?
+         paramNames = false;    // check param names during 'diff'?
 
     for ( int current = 1; current < argc ; current++ ) {
         // all options have one letter
@@ -609,7 +608,7 @@ int main(int argc, char **argv)
 
                     case 'q':
                         // be quiet
-                        wxLog::GetActiveTarget()->SetVerbose(FALSE);
+                        wxLog::GetActiveTarget()->SetVerbose(false);
                         continue;
 
                     case 'H':
@@ -642,7 +641,7 @@ int main(int argc, char **argv)
                             break;
                         }
 
-                        paramNames = TRUE;
+                        paramNames = true;
                         continue;
 
                     case 'f':
@@ -652,7 +651,7 @@ int main(int argc, char **argv)
                             break;
                         }
 
-                        overwrite = TRUE;
+                        overwrite = true;
                         continue;
 
                     case 'o':
@@ -670,7 +669,7 @@ int main(int argc, char **argv)
                         }
 
                         directoryOut = argv[current];
-                        if ( !!directoryOut ) {
+                        if ( !directoryOut.IsEmpty() ) {
                             // terminate with a '/' if it doesn't have it
                             switch ( directoryOut.Last() ) {
                                 case '/':
@@ -730,7 +729,7 @@ int main(int argc, char **argv)
     // create a parser object and a visitor derivation
     CJSourceParser parser;
     HelpGenVisitor visitor(directoryOut, overwrite);
-    if ( !!ignoreFile && mode == Mode_Dump )
+    if ( !ignoreFile.IsEmpty() && mode == Mode_Dump )
         visitor.GetIgnoreHandler().AddNamesFromFile(ignoreFile);
 
     spContext *ctxTop = NULL;
@@ -762,7 +761,7 @@ int main(int argc, char **argv)
             wxLogError("Can't complete diff.");
 
             // failure
-            return FALSE;
+            return false;
         }
 
         DocManager docman(paramNames);
@@ -776,7 +775,7 @@ int main(int argc, char **argv)
             }
         }
 
-        if ( !!ignoreFile )
+        if ( !ignoreFile.IsEmpty() )
             docman.GetIgnoreHandler().AddNamesFromFile(ignoreFile);
 
         docman.DumpDifferences(ctxTop);
@@ -802,7 +801,7 @@ void HelpGenVisitor::Reset()
 {
     m_inClass =
     m_inTypesSection =
-    m_inMethodSection = FALSE;
+    m_inMethodSection = false;
 
     m_classname =
     m_funcName =
@@ -839,7 +838,7 @@ void HelpGenVisitor::InsertEnumDocs()
 void HelpGenVisitor::InsertDataStructuresHeader()
 {
     if ( !m_inTypesSection ) {
-        m_inTypesSection = TRUE;
+        m_inTypesSection = true;
 
         m_file.WriteVerbatim("\\wxheading{Data structures}\n\n");
     }
@@ -848,7 +847,7 @@ void HelpGenVisitor::InsertDataStructuresHeader()
 void HelpGenVisitor::InsertMethodsHeader()
 {
     if ( !m_inMethodSection ) {
-        m_inMethodSection = TRUE;
+        m_inMethodSection = true;
 
         m_file.WriteVerbatim( "\\latexignore{\\rtfignore{\\wxheading{Members}}}\n\n");
     }
@@ -876,40 +875,42 @@ void HelpGenVisitor::CloseFunction()
 
 void HelpGenVisitor::CloseClass()
 {
-       CloseFunction();
+    CloseFunction();
 
-    if ( m_inClass ) {
+    if ( m_inClass )
+    {
         size_t count = m_arrayFuncDocs.GetCount();
-        if ( count ) {
-                       size_t n;
+        if ( count )
+        {
+            size_t n;
             FunctionDocEntry::classname = m_classname;
 
             m_arrayFuncDocs.Sort(FunctionDocEntry::Compare);
 
-                       // Now examine each first line and if it's been seen, cut it
-                       // off (it's a duplicate \membersection)
-                       wxHashTable membersections(wxKEY_STRING);
+            // Now examine each first line and if it's been seen, cut it
+            // off (it's a duplicate \membersection)
+            wxHashTable membersections(wxKEY_STRING);
 
             for ( n = 0; n < count; n++ )
-                       {
+            {
                 wxString section(m_arrayFuncDocs[n].text);
 
-                               // Strip leading whitespace
-                               int pos = section.Find("\\membersection");
-                               if (pos > -1)
-                               {
-                                       section = section.Mid(pos);
-                               }
-
-                               wxString ms(section.BeforeFirst(wxT('\n')));
-                               if (membersections.Get(ms))
-                               {
-                                       m_arrayFuncDocs[n].text = section.AfterFirst(wxT('\n'));
-                               }
-                               else
-                               {
-                                       membersections.Put(ms, & membersections);
-                               }
+                // Strip leading whitespace
+                int pos = section.Find("\\membersection");
+                if (pos > -1)
+                {
+                    section = section.Mid(pos);
+                }
+
+                wxString ms(section.BeforeFirst(wxT('\n')));
+                if (membersections.Get(ms))
+                {
+                    m_arrayFuncDocs[n].text = section.AfterFirst(wxT('\n'));
+                }
+                else
+                {
+                    membersections.Put(ms, & membersections);
+                }
             }
 
             for ( n = 0; n < count; n++ ) {
@@ -919,10 +920,10 @@ void HelpGenVisitor::CloseClass()
             m_arrayFuncDocs.Empty();
         }
 
-        m_inClass = FALSE;
+        m_inClass = false;
         m_classname.clear();
     }
-       m_file.FlushAll();
+    m_file.FlushAll();
 }
 
 void HelpGenVisitor::EndVisit()
@@ -934,32 +935,32 @@ void HelpGenVisitor::EndVisit()
     m_fileHeader.Empty();
 
     m_file.FlushAll();
-       if (m_file.IsOpened())
-       {
-               m_file.Flush();
-               m_file.Close();
-       }
+    if (m_file.IsOpened())
+    {
+        m_file.Flush();
+        m_file.Close();
+    }
 
     wxLogVerbose("%s: finished generating for the current file.",
-                 GetCurrentTime("%H:%M:%S"));
+                 GetCurrentTimeFormatted("%H:%M:%S"));
 }
 
 void HelpGenVisitor::VisitFile( spFile& file )
 {
     m_fileHeader = file.mFileName;
     wxLogVerbose("%s: started generating docs for classes from file '%s'...",
-                 GetCurrentTime("%H:%M:%S"), m_fileHeader.c_str());
+                 GetCurrentTimeFormatted("%H:%M:%S"), m_fileHeader.c_str());
 }
 
 void HelpGenVisitor::VisitClass( spClass& cl )
 {
     CloseClass();
 
-       if (m_file.IsOpened())
-       {
-               m_file.Flush();
-               m_file.Close();
-       }
+    if (m_file.IsOpened())
+    {
+        m_file.Flush();
+        m_file.Close();
+    }
 
     wxString name = cl.GetName();
 
@@ -999,7 +1000,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
     }
 
     m_inMethodSection =
-    m_inTypesSection = FALSE;
+    m_inTypesSection = false;
 
     wxLogInfo("Created new file '%s' for class '%s'.",
               filename.c_str(), name.c_str());
@@ -1015,7 +1016,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
                   "\\section{\\class{%s}}\\label{%s}\n\n",
                   GetVersionString().c_str(),
                   m_fileHeader.c_str(),
-                  GetCurrentTime("%d/%b/%y %H:%M:%S"),
+                  GetCurrentTimeFormatted("%d/%b/%y %H:%M:%S"),
                   name.c_str(),
                   wxString(name).MakeLower().c_str());
 
@@ -1027,7 +1028,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
     // if the header includes other headers they must be related to it... try to
     // automatically generate the "See also" clause
     if ( !m_headers.IsEmpty() ) {
-        // correspondence between wxWindows headers and class names
+        // correspondence between wxWidgets headers and class names
         static const char *headers[] = {
             "object",
             "defs",
@@ -1103,7 +1104,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
         derived << "No base class";
     }
     else {
-        bool first = TRUE;
+        bool first = true;
         for ( StrListT::const_iterator i = baseClasses.begin();
               i != baseClasses.end();
               i++ ) {
@@ -1112,7 +1113,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
                 derived << "\\\\\n";
             }
             else {
-                first = FALSE;
+                first = false;
             }
 
             wxString baseclass = *i;
@@ -1136,7 +1137,7 @@ void HelpGenVisitor::VisitClass( spClass& cl )
     InsertTypedefDocs();
     InsertEnumDocs();
 
-       //m_file.Flush();
+    //m_file.Flush();
 }
 
 void HelpGenVisitor::VisitEnumeration( spEnumeration& en )
@@ -1269,7 +1270,7 @@ void HelpGenVisitor::VisitOperation( spOperation& op )
 
     // save state info
     m_funcName = funcname;
-    m_isFirstParam = TRUE;
+    m_isFirstParam = true;
 
     m_textStoredFunctionComment = GetAllComments(op);
 
@@ -1283,19 +1284,19 @@ void HelpGenVisitor::VisitOperation( spOperation& op )
         funcname = dtor;
     }
 
-       m_textFunc.Printf("\n"
-               "\\membersection{%s::%s}\\label{%s}\n",
-               m_classname.c_str(), funcname.c_str(),
-               MakeLabel(m_classname, funcname).c_str());
+    m_textFunc.Printf("\n"
+        "\\membersection{%s::%s}\\label{%s}\n",
+        m_classname.c_str(), funcname.c_str(),
+        MakeLabel(m_classname, funcname).c_str());
 
-       wxString func;
-       func.Printf("\n"
+    wxString func;
+    func.Printf("\n"
                       "\\%sfunc{%s%s}{%s}{",
                       op.mIsConstant ? "const" : "",
                       op.mIsVirtual ? "virtual " : "",
                       op.mRetType.c_str(),
                       funcname.c_str());
-       m_textFunc += func;
+    m_textFunc += func;
 }
 
 void HelpGenVisitor::VisitParameter( spParameter& param )
@@ -1304,7 +1305,7 @@ void HelpGenVisitor::VisitParameter( spParameter& param )
         return;
 
     if ( m_isFirstParam ) {
-        m_isFirstParam = FALSE;
+        m_isFirstParam = false;
     }
     else {
         m_textFunc << ", ";
@@ -1407,30 +1408,30 @@ bool DocManager::ParseTeXFile(const wxString& filename)
 
     wxFile file(m_filename, wxFile::read);
     if ( !file.IsOpened() )
-        return FALSE;
+        return false;
 
     off_t len = file.Length();
     if ( len == wxInvalidOffset )
-        return FALSE;
+        return false;
 
     char *buf = new char[len + 1];
     buf[len] = '\0';
 
-    if ( file.Read(buf, len) == wxInvalidOffset ) {
+    if ( (wxFileOffset)file.Read(buf, len) == wxInvalidOffset ) {
         delete [] buf;
 
-        return FALSE;
+        return false;
     }
 
     // reinit everything
     m_line = 1;
 
     wxLogVerbose("%s: starting to parse doc file '%s'.",
-                 GetCurrentTime("%H:%M:%S"), m_filename.c_str());
+                 GetCurrentTimeFormatted("%H:%M:%S"), m_filename.c_str());
 
     // the name of the class from the last "\membersection" command: we assume
     // that the following "\func" or "\constfunc" always documents a method of
-    // this class (and it should always be like that in wxWindows documentation)
+    // this class (and it should always be like that in wxWidgets documentation)
     wxString classname;
 
     for ( const char *current = buf; current - buf < len; current++ ) {
@@ -1525,7 +1526,7 @@ bool DocManager::ParseTeXFile(const wxString& filename)
         TeXUnfilter(&returnType);
 
         current++;
-        if ( !SkipSpaceUntil(&current, '{') ) { 
+        if ( !SkipSpaceUntil(&current, '{') ) {
             wxLogWarning("file %s(%d): '{' expected after return type",
                          m_filename.c_str(), m_line);
 
@@ -1545,8 +1546,8 @@ bool DocManager::ParseTeXFile(const wxString& filename)
         current = funcEnd + 1;
 
         // trim spaces from both sides
-        funcName.Trim(FALSE);
-        funcName.Trim(TRUE);
+        funcName.Trim(false);
+        funcName.Trim(true);
 
         // special cases: '$...$' may be used for LaTeX inline math, remove the
         // '$'s
@@ -1597,7 +1598,7 @@ bool DocManager::ParseTeXFile(const wxString& filename)
 
         wxArrayString paramNames, paramTypes, paramValues;
 
-        bool isVararg = FALSE;
+        bool isVararg = false;
 
         current++; // skip '\\'
         lenMatch = TryMatch(current, "void");
@@ -1629,7 +1630,7 @@ bool DocManager::ParseTeXFile(const wxString& filename)
                     // vararg function?
                     wxString paramText = ExtractStringBetweenBraces(&current);
                     if ( paramText == "..." ) {
-                        isVararg = TRUE;
+                        isVararg = true;
                     }
                     else {
                         wxLogWarning("Parameters of '%s::%s' are in "
@@ -1713,22 +1714,22 @@ bool DocManager::ParseTeXFile(const wxString& filename)
     delete [] buf;
 
     wxLogVerbose("%s: finished parsing doc file '%s'.\n",
-                 GetCurrentTime("%H:%M:%S"), m_filename.c_str());
+                 GetCurrentTimeFormatted("%H:%M:%S"), m_filename.c_str());
 
-    return TRUE;
+    return true;
 }
 
 bool DocManager::DumpDifferences(spContext *ctxTop) const
 {
     typedef MMemberListT::const_iterator MemberIndex;
 
-    bool foundDiff = FALSE;
+    bool foundDiff = false;
 
     // flag telling us whether the given class was found at all in the header
     size_t nClass, countClassesInDocs = m_classes.GetCount();
     bool *classExists = new bool[countClassesInDocs];
     for ( nClass = 0; nClass < countClassesInDocs; nClass++ ) {
-        classExists[nClass] = FALSE;
+        classExists[nClass] = false;
     }
 
     // ctxTop is normally an spFile
@@ -1747,7 +1748,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
         int index = m_classes.Index(nameClass);
         if ( index == wxNOT_FOUND ) {
             if ( !m_ignoreNames.IgnoreClass(nameClass) ) {
-                foundDiff = TRUE;
+                foundDiff = true;
 
                 wxLogError("Class '%s' is not documented at all.",
                            nameClass.c_str());
@@ -1757,7 +1758,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
             continue;
         }
         else {
-            classExists[index] = TRUE;
+            classExists[index] = true;
         }
 
         // array of method descriptions for this class
@@ -1767,7 +1768,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
         // flags telling if we already processed given function
         bool *methodExists = new bool[countMethods];
         for ( nMethod = 0; nMethod < countMethods; nMethod++ ) {
-            methodExists[nMethod] = FALSE;
+            methodExists[nMethod] = false;
         }
 
         wxArrayString aOverloadedMethods;
@@ -1790,7 +1791,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
 
             if ( aMethodsWithSameName.IsEmpty() && ctxMethod->IsPublic() ) {
                 if ( !m_ignoreNames.IgnoreMethod(nameClass, nameMethod) ) {
-                    foundDiff = TRUE;
+                    foundDiff = true;
 
                     wxLogError("'%s::%s' is not documented.",
                                nameClass.c_str(),
@@ -1802,7 +1803,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
             }
             else if ( aMethodsWithSameName.GetCount() == 1 ) {
                 index = (size_t)aMethodsWithSameName[0u];
-                methodExists[index] = TRUE;
+                methodExists[index] = true;
 
                 if ( m_ignoreNames.IgnoreMethod(nameClass, nameMethod) )
                     continue;
@@ -1858,7 +1859,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
                         const ParamInfo& param = method.GetParam(nParam);
                         if ( m_checkParamNames &&
                              (param.GetName() != ctxParam->mName) ) {
-                            foundDiff = TRUE;
+                            foundDiff = true;
 
                             wxLogError("Parameter #%d of '%s::%s' should be "
                                        "'%s' and not '%s'.",
@@ -1872,7 +1873,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
                         }
 
                         if ( param.GetType() != ctxParam->mType ) {
-                            foundDiff = TRUE;
+                            foundDiff = true;
 
                             wxLogError("Type of parameter '%s' of '%s::%s' "
                                        "should be '%s' and not '%s'.",
@@ -1908,7 +1909,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
                     // mark all methods with this name as existing
                     for ( nMethod = 0; nMethod < countMethods; nMethod++ ) {
                         if ( methods[nMethod]->GetName() == nameMethod )
-                            methodExists[nMethod] = TRUE;
+                            methodExists[nMethod] = true;
                     }
 
                     aOverloadedMethods.Add(nameMethod);
@@ -1927,7 +1928,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
             if ( !methodExists[nMethod] ) {
                 const wxString& nameMethod = methods[nMethod]->GetName();
                 if ( !m_ignoreNames.IgnoreMethod(nameClass, nameMethod) ) {
-                    foundDiff = TRUE;
+                    foundDiff = true;
 
                     wxLogError("'%s::%s' is documented but doesn't exist.",
                                nameClass.c_str(),
@@ -1942,7 +1943,7 @@ bool DocManager::DumpDifferences(spContext *ctxTop) const
     // check that all classes we found in the docs really exist
     for ( nClass = 0; nClass < countClassesInDocs; nClass++ ) {
         if ( !classExists[nClass] ) {
-            foundDiff = TRUE;
+            foundDiff = true;
 
             wxLogError("Class '%s' is documented but doesn't exist.",
                        m_classes[nClass].c_str());
@@ -1978,19 +1979,19 @@ bool IgnoreNamesHandler::AddNamesFromFile(const wxString& filename)
 {
     wxFile file(filename, wxFile::read);
     if ( !file.IsOpened() )
-        return FALSE;
+        return false;
 
     off_t len = file.Length();
     if ( len == wxInvalidOffset )
-        return FALSE;
+        return false;
 
     char *buf = new char[len + 1];
     buf[len] = '\0';
 
-    if ( file.Read(buf, len) == wxInvalidOffset ) {
+    if ( (wxFileOffset)file.Read(buf, len) == wxInvalidOffset ) {
         delete [] buf;
 
-        return FALSE;
+        return false;
     }
 
     wxString line;
@@ -2027,7 +2028,7 @@ bool IgnoreNamesHandler::AddNamesFromFile(const wxString& filename)
 
     delete [] buf;
 
-    return TRUE;
+    return true;
 }
 
 // -----------------------------------------------------------------------------
@@ -2115,7 +2116,7 @@ static wxString MakeHelpref(const char *argument)
 static void TeXFilter(wxString* str)
 {
     // TeX special which can be quoted (don't include backslash nor braces as
-    // we generate them 
+    // we generate them
     static wxRegEx reNonSpecialSpecials("[#$%&_]"),
                    reAccents("[~^]");
 
@@ -2130,8 +2131,8 @@ static void TeXFilter(wxString* str)
 static void TeXUnfilter(wxString* str)
 {
     // FIXME may be done much more quickly
-    str->Trim(TRUE);
-    str->Trim(FALSE);
+    str->Trim(true);
+    str->Trim(false);
 
     // undo TeXFilter
     static wxRegEx reNonSpecialSpecials("\\\\([#$%&_{}])"),
@@ -2151,7 +2152,7 @@ static wxString GetAllComments(const spContext& ctx)
         wxString comment = (*i)->GetText();
 
         // don't take comments like "// ----------" &c
-        comment.Trim(FALSE);
+        comment.Trim(false);
         if ( !!comment &&
               comment == wxString(comment[0u], comment.length() - 1) + '\n' )
             comments << "\n";
@@ -2162,7 +2163,7 @@ static wxString GetAllComments(const spContext& ctx)
     return comments;
 }
 
-static const char *GetCurrentTime(const char *timeFormat)
+static const char *GetCurrentTimeFormatted(const char *timeFormat)
 {
     static char s_timeBuffer[128];
     time_t timeNow;
@@ -2185,6 +2186,18 @@ static const wxString GetVersionString()
 
 /*
    $Log$
+   Revision 1.31  2004/10/05 15:38:29  ABX
+   Warning fixes found under hardest mode of OpenWatcom. Seems clean in Borland, MinGW and DMC.
+
+   Revision 1.30  2004/06/18 19:25:50  ABX
+   Small step in making HelpGen up to date unicode application.
+
+   Revision 1.29  2004/06/17 19:00:22  ABX
+   Warning fixes. Code cleanup. Whitespaces and tabs removed.
+
+   Revision 1.28  2004/05/25 11:19:57  JS
+   More name changes
+
    Revision 1.27  2003/10/13 17:21:30  MBN
      Compilation fixes.
 
@@ -2299,7 +2312,7 @@ static const wxString GetVersionString()
     date: 1999/01/08 17:45:55;  author: VZ;  state: Exp;
 
     HelpGen is a prototype of the tool for automatic generation of the .tex files
-    for wxWindows documentation from C++ headers
+    for wxWidgets documentation from C++ headers
 */
 
 /* vi: set tw=80 et ts=4 sw=4: */