X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3622daa901777a33969d8bc04e2d62dee14d164..103aec296a2c017f915b4b2b2584191fdb716a75:/src/gtk/utilsres.cpp?ds=inline diff --git a/src/gtk/utilsres.cpp b/src/gtk/utilsres.cpp index db55e4f964..52e3199178 100644 --- a/src/gtk/utilsres.cpp +++ b/src/gtk/utilsres.cpp @@ -2,8 +2,7 @@ // Name: utils.cpp // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: +// Id: $Id$ // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -58,19 +57,22 @@ extern XrmDatabase wxResourceDatabase; static char *GetResourcePath(char *buf, char *name, bool create) { - if (create && FileExists(name)) { + if (create && FileExists(name)) + { strcpy(buf, name); return buf; // Exists so ... } if (*name == '/') strcpy(buf, name); - else { + else + { // Put in standard place for resource files if not absolute strcpy(buf, DEFAULT_XRESOURCE_DIR); strcat(buf, "/"); strcat(buf, FileNameFromPath(name)); } - if (create) { + if (create) + { // Touch the file to create it FILE *fd = fopen(buf, "w"); if (fd) fclose(fd); @@ -83,7 +85,7 @@ static char *GetResourcePath(char *buf, char *name, bool create) // the Real User, then determine the Real home dir. static char *GetIniFile(char *dest, const char *filename) { - char *home = NULL; + char *home = (char *) NULL; if (filename && wxIsAbsolutePath(filename)) { strcpy(dest, filename); @@ -110,7 +112,7 @@ static char *GetIniFile(char *dest, const char *filename) return dest; } -static void wxXMergeDatabases(void) +static void wxXMergeDatabases() { XrmDatabase homeDB, serverDB, applicationDB; char filenamebuf[1024]; @@ -130,10 +132,13 @@ static void wxXMergeDatabases(void) // window when the server initializes and loaded into the display // structure on XOpenDisplay; // if not defined, use .Xdefaults - if (XResourceManagerString(GDK_DISPLAY()) != NULL) { + if (XResourceManagerString(GDK_DISPLAY()) != NULL) + { serverDB = XrmGetStringDatabase(XResourceManagerString(GDK_DISPLAY())); - } else { - (void)GetIniFile(filename, NULL); + } + else + { + (void)GetIniFile(filename, (char *) NULL); serverDB = XrmGetFileDatabase(filename); } if (serverDB) @@ -142,9 +147,10 @@ static void wxXMergeDatabases(void) // Open XENVIRONMENT file, or if not defined, the .Xdefaults, // and merge into existing database - if ((environment = getenv("XENVIRONMENT")) == NULL) { + if ((environment = getenv("XENVIRONMENT")) == NULL) + { size_t len; - environment = GetIniFile(filename, NULL); + environment = GetIniFile(filename, (const char *) NULL); len = strlen(environment); #if !defined(SVR4) || defined(__sgi) (void)gethostname(environment + len, 1024 - len); @@ -160,13 +166,14 @@ static void wxXMergeDatabases(void) // called on application exit //----------------------------------------------------------------------------- -void wxFlushResources(void) +void wxFlushResources() { char nameBuffer[512]; wxNode *node = wxTheResourceCache->First(); while (node) { - char *file = node->key.string; + wxString str = node->GetKeyString(); + char *file = WXSTRINGCAST str; // If file doesn't exist, create it first. (void)GetResourcePath(nameBuffer, file, TRUE); @@ -249,16 +256,21 @@ bool wxGetResource(const wxString& section, const wxString& entry, char **value, wxXMergeDatabases(); XrmDatabase database; - if (file) { + if (!file.IsEmpty()) + { char buffer[500]; // Is this right? Trying to get it to look in the user's // home directory instead of current directory -- JACS (void)GetIniFile(buffer, file); - wxNode *node = wxTheResourceCache->Find(buffer); + wxNode *node = (wxNode*) NULL; /* suppress egcs warning */ + node = wxTheResourceCache->Find(buffer); if (node) + { database = (XrmDatabase)node->Data(); - else { + } + else + { database = XrmGetFileDatabase(buffer); wxLogTrace(wxTraceResAlloc, "Get: Number = %d", wxTheResourceCache->Number()); wxTheResourceCache->Append(buffer, (wxObject *)database); @@ -275,11 +287,13 @@ bool wxGetResource(const wxString& section, const wxString& entry, char **value, bool success = XrmGetResource(database, buf, "*", str_type, &xvalue); // Try different combinations of upper/lower case, just in case... - if (!success) { + if (!success) + { buf[0] = (isupper(buf[0]) ? tolower(buf[0]) : toupper(buf[0])); success = XrmGetResource(database, buf, "*", str_type, &xvalue); } - if (success) { + if (success) + { if (*value) delete[] *value; *value = new char[xvalue.size + 1]; @@ -291,10 +305,11 @@ bool wxGetResource(const wxString& section, const wxString& entry, char **value, bool wxGetResource(const wxString& section, const wxString& entry, float *value, const wxString& file ) { - char *s = NULL; + char *s = (char *) NULL; bool succ = wxGetResource(section, entry, &s, file); - if (succ) { - *value = (float)strtod(s, NULL); + if (succ) + { + *value = (float)strtod(s, (char **) NULL); delete[]s; return TRUE; } else @@ -303,10 +318,11 @@ bool wxGetResource(const wxString& section, const wxString& entry, float *value, bool wxGetResource(const wxString& section, const wxString& entry, long *value, const wxString& file ) { - char *s = NULL; + char *s = (char *) NULL; bool succ = wxGetResource(section, entry, &s, file); - if (succ) { - *value = strtol(s, NULL, 10); + if (succ) + { + *value = strtol(s, (char **) NULL, 10); delete[]s; return TRUE; } else @@ -315,9 +331,10 @@ bool wxGetResource(const wxString& section, const wxString& entry, long *value, bool wxGetResource(const wxString& section, const wxString& entry, int *value, const wxString& file ) { - char *s = NULL; + char *s = (char *) NULL; bool succ = wxGetResource(section, entry, &s, file); - if (succ) { + if (succ) + { // Handle True, False here // True, Yes, Enables, Set or Activated if (*s == 'T' || *s == 'Y' || *s == 'E' || *s == 'S' || *s == 'A') @@ -327,7 +344,7 @@ bool wxGetResource(const wxString& section, const wxString& entry, int *value, c *value = FALSE; // Handle as Integer else - *value = (int)strtol(s, NULL, 10); + *value = (int)strtol(s, (char **) NULL, 10); delete[]s; return TRUE; } else