My Project  UNKNOWN_GIT_VERSION
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

◆ feResourceConfig_s

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

◆ DIR_SEP

#define DIR_SEP   '/'

Definition at line 6 of file feResource.h.

◆ DIR_SEPP

#define DIR_SEPP   "/"

Definition at line 7 of file feResource.h.

◆ MAXPATHLEN

#define MAXPATHLEN   1024

Definition at line 10 of file feResource.h.

Typedef Documentation

◆ feResourceConfig

Definition at line 30 of file feResource.h.

Enumeration Type Documentation

◆ feResourceType

Enumerator
feResUndef 
feResBinary 
feResDir 
feResFile 
feResUrl 
feResPath 

Definition at line 19 of file feResource.h.

Function Documentation

◆ feGetResource()

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

Definition at line 155 of file feResource.cc.

156 {
157  return feResource(feGetResourceConfig(id), warn);
158 }

◆ feInitResources()

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  strcat(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 }

◆ feReInitResources()

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 }

◆ feResource() [1/2]

char* feResource ( const char *  key,
int  warn = -1 
)

Definition at line 145 of file feResource.cc.

146 {
147  return feResource(feGetResourceConfig(key), warn);
148 }

◆ feResource() [2/2]

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

Definition at line 150 of file feResource.cc.

151 {
152  return feResource(feGetResourceConfig(id), warn);
153 }

Variable Documentation

◆ feArgv0

char* feArgv0

Definition at line 19 of file feResource.cc.

◆ fePathSep

const char fePathSep = ':'

Definition at line 57 of file feResource.h.

◆ feResourceConfigs

feResourceConfig_s feResourceConfigs[]

Definition at line 54 of file feResource.cc.

feGetResourceConfig
static feResourceConfig feGetResourceConfig(const char id)
Definition: feResource.cc:235
feResUrl
@ feResUrl
Definition: feResource.h:23
feResourceConfig_s::value
char * value
Definition: feResource.h:28
feArgv0
char * feArgv0
Definition: feResource.cc:19
feResBinary
@ feResBinary
Definition: feResource.h:23
i
int i
Definition: cfEzgcd.cc:125
argv0
char * argv0
Definition: coeffs_test_runner.cpp:14
malloc
void * malloc(size_t size)
Definition: omalloc.c:92
feResFile
@ feResFile
Definition: feResource.h:23
feResUndef
@ feResUndef
Definition: feResource.h:23
free
#define free
Definition: omAllocFunc.c:12
feResourceType
feResourceType
Definition: feResource.h:19
feResourceConfigs
feResourceConfig_s feResourceConfigs[]
Definition: feResource.cc:54
feResource
static char * feResource(feResourceConfig config, int warn)
Definition: feResource.cc:258
strdup
#define strdup
Definition: omAllocFunc.c:17
NULL
#define NULL
Definition: omList.c:10
MAXPATHLEN
#define MAXPATHLEN
Definition: omRet2Info.c:22
feResDir
@ feResDir
Definition: feResource.h:23
s
const CanonicalForm int s
Definition: facAbsFact.cc:55
feResPath
@ feResPath
Definition: feResource.h:23