Changeset 5752:ec433a3a02b8 in roaraudio for libroar


Ignore:
Timestamp:
11/16/12 13:45:29 (11 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

Improved env API

File:
1 edited

Legend:

Unmodified
Added
Removed
  • libroar/env.c

    r5381 r5752  
    3737 
    3838int roar_env_set(struct roar_keyval * keyval) { 
     39#if defined(ROAR_HAVE_PUTENV) && !defined(ROAR_HAVE_SETENV) 
     40 size_t len; 
     41 char * str; 
     42#endif 
     43 
     44 if ( keyval == NULL || keyval->key == NULL ) { 
     45  roar_err_set(ROAR_ERROR_FAULT); 
     46  return -1; 
     47 } 
     48 
    3949#ifdef ROAR_HAVE_SETENV 
    4050 return setenv(keyval->key, keyval->value, 1); 
    4151#elif defined(ROAR_HAVE_PUTENV) 
    42  size_t len; 
    43  char * str; 
    44  
    4552 len = strlen(keyval->key) + strlen(keyval->value) + 2; 
    4653 
     
    5461 return putenv(str) == 0 ? 0 : -1; 
    5562#else 
     63 roar_strap(ROAR_TRAP_GROUP_LIBROAR, "env_set.not-implemented"); 
     64 roar_err_set(ROAR_ERROR_NOSYS); 
    5665 return -1; 
    5766#endif 
     67} 
     68 
     69const char * roar_env_get(const char * key) { 
     70 const char * ret; 
     71 
     72 if ( key == NULL ) { 
     73  roar_err_set(ROAR_ERROR_FAULT); 
     74  return NULL; 
     75 } 
     76 
     77 roar_err_clear_all(); 
     78 ret = getenv(key); 
     79 roar_err_update(); 
     80 
     81 if ( ret == NULL && roar_error == ROAR_ERROR_NONE ) 
     82  roar_err_set(ROAR_ERROR_NOENT); 
     83 
     84 return ret; 
    5885} 
    5986 
Note: See TracChangeset for help on using the changeset viewer.