Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
feResource.h File Reference
#include <sys/param.h>

Go to the source code of this file.

Data Structures

struct  feResourceConfig_s
 

Macros

#define DIR_SEP   '/'
 
#define DIR_SEPP   "/"
 
#define MAXPATHLEN   1024
 

Typedefs

typedef feResourceConfig_sfeResourceConfig
 

Enumerations

enum  feResourceType {
  feResUndef = 0, feResBinary, feResDir, feResFile,
  feResUrl, feResPath
}
 

Functions

char * feResource (const char id, int warn=-1)
 
char * feResource (const char *key, int warn=-1)
 
char * feGetResource (const char id, int warn=-1)
 
void feInitResources (const char *argv0)
 
void feReInitResources ()
 

Variables

feResourceConfig_s feResourceConfigs []
 
char * feArgv0
 
const char fePathSep = ':'
 

Data Structure Documentation

struct feResourceConfig_s

Definition at line 21 of file feResource.h.

Data Fields
const char * env
const char * fmt
const char id
const char * key
feResourceType type
char * value

Macro Definition Documentation

#define DIR_SEP   '/'

Definition at line 6 of file feResource.h.

#define DIR_SEPP   "/"

Definition at line 7 of file feResource.h.

#define MAXPATHLEN   1024

Definition at line 10 of file feResource.h.

Typedef Documentation

Definition at line 30 of file feResource.h.

Enumeration Type Documentation

Enumerator
feResUndef 
feResBinary 
feResDir 
feResFile 
feResUrl 
feResPath 

Definition at line 19 of file feResource.h.

Function Documentation

char* feGetResource ( const char  id,
int  warn = -1 
)

Definition at line 149 of file feResource.cc.

150 {
151  return feResource(feGetResourceConfig(id), warn);
152 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:252
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:229
void feInitResources ( const char *  argv0)

Definition at line 164 of file feResource.cc.

165 {
166  if (argv0==NULL)
167  {
168  //WarnS("illegal argv[0]==NULL");
169  feArgv0 = (char*)malloc(MAXPATHLEN+strlen("/Singular"));
170  getcwd(feArgv0, MAXPATHLEN);
171  strcpy(feArgv0+strlen(feArgv0),"/Singular");
172  }
173  else
174  feArgv0 = strdup(argv0);
175 #ifdef RESOURCE_DEBUG
176  printf("feInitResources(argv0: '%s'): entering...\n", feArgv0);
177 #endif
178  // init some Resources
179  feResource('b');
180  feResource('r');
181  // don't complain about stuff when initializing SingularPath
182  feResource('s',0);
183  feResource('P');
184 
185 #if defined(HAVE_SETENV) || defined(HAVE_PUTENV)
186  char* path = feResource('p');
187 #ifdef RESOURCE_DEBUG
188  printf("feInitResources(argv0): setting path with '%s'\n", path);
189 #endif
190 #ifdef HAVE_PUTENV
191  if (path != NULL) { char *s=(char *)malloc(strlen(path)+6);
192  sprintf(s,"PATH=%s",path);
193  putenv(s);
194  }
195 #else
196  if (path != NULL) setenv("PATH", path, 1);
197 #endif
198 #endif
199 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
#define MAXPATHLEN
Definition: omRet2Info.c:22
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:252
void * malloc(size_t size)
Definition: omalloc.c:92
#define strdup
Definition: omAllocFunc.c:17
char * feArgv0
Definition: feResource.cc:19
#define NULL
Definition: omList.c:10
void feReInitResources ( )

Definition at line 201 of file feResource.cc.

202 {
203  int i = 0;
204  while (feResourceConfigs[i].key != NULL)
205  {
206  if ((feResourceConfigs[i].value != NULL)
207  && (feResourceConfigs[i].value[0] != '\0'))
208  {
209  free(feResourceConfigs[i].value);
210  feResourceConfigs[i].value = (char *)"";
211  }
212  i++;
213  }
214 #ifdef RESOURCE_DEBUG
215  printf("feInitResources(): entering...\n");
216 #endif
217  // init some Resources
218  feResource('b');
219  feResource('r');
220  // don't complain about stuff when initializing SingularPath
221  feResource('s',0);
222 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:252
#define free
Definition: omAllocFunc.c:12
int i
Definition: cfEzgcd.cc:123
#define NULL
Definition: omList.c:10
feResourceConfig_s feResourceConfigs[]
Definition: feResource.cc:54
char* feResource ( const char  id,
int  warn = -1 
)

Definition at line 144 of file feResource.cc.

145 {
146  return feResource(feGetResourceConfig(id), warn);
147 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:252
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:229
char* feResource ( const char *  key,
int  warn = -1 
)

Definition at line 139 of file feResource.cc.

140 {
141  return feResource(feGetResourceConfig(key), warn);
142 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:252
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:229

Variable Documentation

char* feArgv0

Definition at line 19 of file feResource.cc.

const char fePathSep = ':'

Definition at line 57 of file feResource.h.

feResourceConfig_s feResourceConfigs[]

Definition at line 54 of file feResource.cc.