// 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
/////////////////////////////////////////////////////////////////////////////
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);
// 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);
return dest;
}
-static void wxXMergeDatabases(void)
+static void wxXMergeDatabases()
{
XrmDatabase homeDB, serverDB, applicationDB;
char filenamebuf[1024];
// 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)
// 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);
// 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);
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);
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];
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
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
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')
*value = FALSE;
// Handle as Integer
else
- *value = (int)strtol(s, NULL, 10);
+ *value = (int)strtol(s, (char **) NULL, 10);
delete[]s;
return TRUE;
} else