X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ed1288c1d53072d6db0285d2bd5dca3d72fc8c3e..571d2e0f232be3f7220c485c7e72eccfb87f2855:/src/common/list.cpp?ds=sidebyside diff --git a/src/common/list.cpp b/src/common/list.cpp index 337a8db963..3d8a0ef389 100644 --- a/src/common/list.cpp +++ b/src/common/list.cpp @@ -1,5 +1,5 @@ //////////////////////////////////////////////////////////////////////////////// -// Name: list.cpp +// Name: src/common/list.cpp // Purpose: wxList implementation // Author: Julian Smart // Modified by: VZ at 16/11/98: WX_DECLARE_LIST() and typesafe lists added @@ -17,10 +17,6 @@ // headers // ----------------------------------------------------------------------------- -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma implementation "list.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -33,7 +29,6 @@ #include #ifndef WX_PRECOMP - #include "wx/defs.h" #include "wx/list.h" #endif @@ -594,12 +589,6 @@ void wxObjectListNode::DeleteData() // wxStringList // ---------------------------------------------------------------------------- -static inline wxChar* MYcopystring(const wxString& s) -{ - wxChar* copy = new wxChar[s.length() + 1]; - return wxStrcpy(copy, s.c_str()); -} - static inline wxChar* MYcopystring(const wxChar* s) { wxChar* copy = new wxChar[wxStrlen(s) + 1]; @@ -664,13 +653,19 @@ wxStringList::wxStringList (const wxChar *first, ...) { Add(s); + // icc gives this warning in its own va_arg() macro, argh +#ifdef __INTELC__ + #pragma warning(push) + #pragma warning(disable: 1684) +#endif + s = va_arg(ap, const wxChar *); - // if (s == NULL) -#ifdef __WXMSW__ - if ((int)(long) s == 0) -#else - if ((long) s == 0) + +#ifdef __INTELC__ + #pragma warning(pop) #endif + + if ( !s ) break; } @@ -746,21 +741,26 @@ void wxStringList::Sort() wxNode *wxStringList::Add(const wxChar *s) { - return (wxNode *)wxStringListBase::Append(MYcopystring(s)); + return (wxNode *)(wxStringListBase::Node *) + wxStringListBase::Append(MYcopystring(s)); } wxNode *wxStringList::Prepend(const wxChar *s) { - return (wxNode *)wxStringListBase::Insert(MYcopystring(s)); + return (wxNode *)(wxStringListBase::Node *) + wxStringListBase::Insert(MYcopystring(s)); } #endif // wxLIST_COMPATIBILITY #else // wxUSE_STL = 1 - #include - WX_DEFINE_LIST(wxObjectList); - WX_DEFINE_LIST(wxStringListBase); + #include "wx/listimpl.cpp" + WX_DEFINE_LIST(wxObjectList) -#endif // !wxUSE_STL +// with wxUSE_STL wxStringList contains wxString objects, not pointers +void _WX_LIST_HELPER_wxStringListBase::DeleteFunction( wxString WXUNUSED(X) ) +{ +} +#endif // !wxUSE_STL