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 155 of file feResource.cc.

156 {
157  return feResource(feGetResourceConfig(id), warn);
158 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:235
void feInitResources ( const char *  argv0)

Definition at line 170 of file feResource.cc.

171 {
172  if (argv0==NULL)
173  {
174  //WarnS("illegal argv[0]==NULL");
175  feArgv0 = (char*)malloc(MAXPATHLEN+strlen("/Singular"));
176  getcwd(feArgv0, MAXPATHLEN);
177  strcpy(feArgv0+strlen(feArgv0),"/Singular");
178  }
179  else
180  feArgv0 = strdup(argv0);
181 #ifdef RESOURCE_DEBUG
182  printf("feInitResources(argv0: '%s'): entering...\n", feArgv0);
183 #endif
184  // init some Resources
185  feResource('b');
186  feResource('r');
187  // don't complain about stuff when initializing SingularPath
188  feResource('s',0);
189  feResource('P');
190 
191 #if defined(HAVE_SETENV) || defined(HAVE_PUTENV)
192  char* path = feResource('p');
193 #ifdef RESOURCE_DEBUG
194  printf("feInitResources(argv0): setting path with '%s'\n", path);
195 #endif
196 #ifdef HAVE_PUTENV
197  if (path != NULL) { char *s=(char *)malloc(strlen(path)+6);
198  sprintf(s,"PATH=%s",path);
199  putenv(s);
200  }
201 #else
202  if (path != NULL) setenv("PATH", path, 1);
203 #endif
204 #endif
205 }
const CanonicalForm int s
Definition: facAbsFact.cc:55
#define MAXPATHLEN
Definition: omRet2Info.c:22
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258
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 207 of file feResource.cc.

208 {
209  int i = 0;
210  while (feResourceConfigs[i].key != NULL)
211  {
212  if ((feResourceConfigs[i].value != NULL)
213  && (feResourceConfigs[i].value[0] != '\0'))
214  {
215  free(feResourceConfigs[i].value);
216  feResourceConfigs[i].value = (char *)"";
217  }
218  i++;
219  }
220 #ifdef RESOURCE_DEBUG
221  printf("feInitResources(): entering...\n");
222 #endif
223  // init some Resources
224  feResource('b');
225  feResource('r');
226  // don't complain about stuff when initializing SingularPath
227  feResource('s',0);
228 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258
#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 150 of file feResource.cc.

151 {
152  return feResource(feGetResourceConfig(id), warn);
153 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:235
char* feResource ( const char *  key,
int  warn = -1 
)

Definition at line 145 of file feResource.cc.

146 {
147  return feResource(feGetResourceConfig(key), warn);
148 }
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:235

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.