]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/wxchar.cpp
Save the alpha values if the image has an alpha channel
[wxWidgets.git] / src / common / wxchar.cpp
index ce74d2bd617dd0dd6c33287e64dbceaf0a31b160..7184706d3203afc274f835f7d91f123c383ccf89 100644 (file)
@@ -5,7 +5,7 @@
 // Modified by: Ron Lee
 // Created:     09/04/99
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows copyright
+// Copyright:   (c) wxWidgets copyright
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
@@ -704,7 +704,7 @@ int vwprintf(const wxChar *format, va_list argptr)
    So to use native functions in order to get our semantics we must do the
    following translations in Unicode mode (nothing to do in ANSI mode):
 
-   wxWindows specifier      POSIX specifier
+   wxWidgets specifier      POSIX specifier
    ----------------------------------------
 
    %hc, %C, %hC             %c
@@ -962,9 +962,9 @@ int wxSprintf( wxChar *str, const wxChar *format, ... )
     va_list argptr;
     va_start(argptr, format);
 
-    // note that wxString::Format() uses wxVsnprintf(), not wxSprintf(), so
+    // note that wxString::FormatV() uses wxVsnprintf(), not wxSprintf(), so
     // it's safe to implement this one in terms of it
-    wxString s(wxString::Format(format, argptr));
+    wxString s(wxString::FormatV(format, argptr));
     wxStrcpy(str, s);
 
     va_end(argptr);
@@ -1329,36 +1329,16 @@ long     WXDLLEXPORT wxAtol(const wxChar *psz)
 
 wxChar * WXDLLEXPORT wxGetenv(const wxChar *name)
 {
-  static wxHashTable env;
-
-  // check if we already have stored the converted env var
-  wxObject *data = env.Get(name);
-  if (!data)
-  {
-    // nope, retrieve it,
-#if wxUSE_UNICODE
-    wxCharBuffer buffer = wxConvLocal.cWX2MB(name);
-    // printf( "buffer %s\n", (const char*) buffer );
-    const char *val = getenv( (const char *)buffer );
-#else
-    const char *val = getenv( name );
-#endif
-
-    if (!val) return (wxChar *)NULL;
-    // printf( "home %s\n", val );
-
-    // convert it,
 #if wxUSE_UNICODE
-    data = (wxObject *)new wxString(val, wxConvLocal);
+    // NB: buffer returned by getenv() is allowed to be overwritten next
+    //     time getenv() is called, so it is OK to use static string
+    //     buffer to hold the data.
+    static wxWCharBuffer value((wxChar*)NULL);
+    value = wxConvLocal.cMB2WX(getenv(wxConvLocal.cWX2MB(name)));
+    return value.data();
 #else
-    data = (wxObject *)new wxString(val);
+    return getenv(name);
 #endif
-
-    // and store it
-    env.Put(name, data);
-  }
-  // return converted env var
-  return (wxChar *)((wxString *)data)->c_str();
 }
 
 int WXDLLEXPORT wxSystem(const wxChar *psz)