41 #define _ENVVAR_MAX_LENGTH 255 52 "The directory in $%s is invalid. (%s)\n",
53 "The root directory environment variable $%s is not set.\n",
54 "The $%s should be an absolute path. (%s)\n",
55 "The $%s is too long. (%s)\n" 69 size_t len =
strlen (cubrid_tmp);
70 size_t limit = 108 - 12;
99 #if !defined (DO_NOT_USE_CUBRIDENV) 103 #if !defined (WINDOWS) 160 while (size > 1 && *prefix)
162 *pname++ = *prefix++;
170 while (size > 1 && *name)
211 ret = setenv (buf, val, 1);
241 #define _ENVVAR_MAX_EXPANSION (10 * 2 + 1) 250 s = strchr (
string,
'$');
254 (void)
strlcpy (buffer,
string, maxlen);
267 for (e = s + 1; *e && *e !=
'}'; e++)
272 (void)
strlcpy (env, s + 2, e - s - 1);
278 for (e = s + 1; *e && (isalnum (*e) || *e ==
'_'); e++)
283 (void)
strlcpy (env, s + 1, e - s);
294 (void)
strlcpy (buffer, env, maxlen);
301 cur->len = s - string;
322 cur->len = e - string;
332 s = strchr (
string,
'$');
339 cur->len =
strlen (
string);
346 for (cur = fragments; cur->len && maxlen > 1; cur++)
348 if (cur->len >= maxlen)
350 cur->len = maxlen - 1;
352 (void) memcpy (buffer, cur->str, cur->len);
366 #if !defined (DO_NOT_USE_CUBRIDENV) 371 snprintf (path, size,
"%s/bin/%s",
envvar_Root, filename);
373 snprintf (path, size,
"%s/%s", CUBRID_BINDIR, filename);
376 path[size - 1] =
'\0';
385 #if !defined (DO_NOT_USE_CUBRIDENV) 390 snprintf (path, size,
"%s/lib/%s",
envvar_Root, filename);
392 snprintf (path, size,
"%s/%s", CUBRID_LIBDIR, filename);
395 path[size - 1] =
'\0';
404 #if !defined (DO_NOT_USE_CUBRIDENV) 409 snprintf (path, size,
"%s/java/%s",
envvar_Root, filename);
411 snprintf (path, size,
"%s/%s", CUBRID_JAVADIR, filename);
414 path[size - 1] =
'\0';
423 #if !defined (DO_NOT_USE_CUBRIDENV) 428 snprintf (path, size,
"%s/msg/%s/%s",
envvar_Root, langpath, filename);
430 snprintf (path, size,
"%s/%s/%s", CUBRID_LOCALEDIR, langpath, filename);
433 path[size - 1] =
'\0';
442 #if !defined (DO_NOT_USE_CUBRIDENV) 447 snprintf (path, size,
"%s/conf/%s",
envvar_Root, filename);
449 snprintf (path, size,
"%s/%s", CUBRID_CONFDIR, filename);
452 path[size - 1] =
'\0';
461 #if !defined (DO_NOT_USE_CUBRIDENV) 466 snprintf (path, size,
"%s/var/%s",
envvar_Root, filename);
468 snprintf (path, size,
"%s/%s", CUBRID_VARDIR, filename);
471 path[size - 1] =
'\0';
480 #if !defined (DO_NOT_USE_CUBRIDENV) 485 snprintf (path, size,
"%s/tmp/%s",
envvar_Root, filename);
487 snprintf (path, size,
"%s/%s", CUBRID_TMPDIR, filename);
490 path[size - 1] =
'\0';
499 #if !defined (DO_NOT_USE_CUBRIDENV) 504 snprintf (path, size,
"%s/log/%s",
envvar_Root, filename);
506 snprintf (path, size,
"%s/%s", CUBRID_LOGDIR, filename);
509 path[size - 1] =
'\0';
526 if (*env_val == c && size > 2)
528 buf = (
char *) malloc (1 + size);
531 strcpy (buf, env_val);
532 strncpy (env_val, buf + 1, size - 2);
533 env_val[size - 2] =
'\0';
545 #if !defined (DO_NOT_USE_CUBRIDENV) 550 snprintf (path, size,
"%s/locales/data/ldml/%s",
envvar_Root, filename);
552 snprintf (path, size,
"%s/%s", CUBRID_CONFDIR, filename);
555 path[size - 1] =
'\0';
564 #if !defined (DO_NOT_USE_CUBRIDENV) 569 snprintf (path, size,
"%s/locales/data/codepages/%s",
envvar_Root, filename);
571 snprintf (path, size,
"%s/%s", CUBRID_CONFDIR, filename);
574 path[size - 1] =
'\0';
583 #if !defined (DO_NOT_USE_CUBRIDENV) 588 snprintf (path, size,
"%s/locales/data/%s",
envvar_Root, filename);
590 snprintf (path, size,
"%s/%s", CUBRID_CONFDIR, filename);
593 path[size - 1] =
'\0';
602 #if !defined (DO_NOT_USE_CUBRIDENV) 607 snprintf (path, size,
"%s/locales/loclib/%s",
envvar_Root, filename);
609 snprintf (path, size,
"%s/%s", CUBRID_CONFDIR, filename);
612 path[size - 1] =
'\0';
619 #if !defined (DO_NOT_USE_CUBRIDENV) 626 snprintf (path, size,
"%s", CUBRID_CONFDIR);
629 path[size - 1] =
'\0';
638 #if !defined (DO_NOT_USE_CUBRIDENV) 643 snprintf (path, size,
"%s/timezones/tzdata/%s",
envvar_Root, filename);
645 snprintf (path, size,
"%s/%s", CUBRID_CONFDIR, filename);
648 path[size - 1] =
'\0';
char * envvar_logdir_file(char *path, size_t size, const char *filename)
const char * envvar_root(void)
static const char * envvar_Prefix
static void envvar_check_environment(void)
static const char * envvar_Root
int envvar_set(const char *name, const char *val)
#define _ENVVAR_MAX_LENGTH
#define _ENVVAR_MAX_EXPANSION
static const char * env_msg[]
char * envvar_libdir_file(char *path, size_t size, const char *filename)
char * envvar_javadir_file(char *path, size_t size, const char *filename)
char * envvar_localedatadir_file(char *path, size_t size, const char *filename)
const char * envvar_name(char *buf, size_t size, const char *name)
const char * envvar_prefix(void)
char * envvar_bindir_file(char *path, size_t size, const char *filename)
static const char envvar_Prefix_name[]
const char * envvar_get(const char *name)
size_t strlcpy(char *dst, const char *src, size_t siz)
char * envvar_vardir_file(char *path, size_t size, const char *filename)
char * envvar_tmpdir_file(char *path, size_t size, const char *filename)
char * envvar_codepagedir_file(char *path, size_t size, const char *filename)
char * envvar_loclib_dir_file(char *path, size_t size, const char *filename)
char * envvar_tzdata_dir_file(char *path, size_t size, const char *filename)
char * envvar_localedir_file(char *path, size_t size, const char *langpath, const char *filename)
int envvar_expand(const char *string, char *buffer, size_t maxlen)
char * envvar_cubrid_dir(char *path, size_t size)
void envvar_trim_char(char *env_val, const int c)
char * envvar_ldmldir_file(char *path, size_t size, const char *filename)
char * envvar_confdir_file(char *path, size_t size, const char *filename)