#include <variable.h>\r
\r
-typedef struct s_variable\r
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(tesh);\r
+\r
+variable_t\r
+variable_new(const char* name, const char* val)\r
+{\r
+ variable_t variable;\r
+ \r
+ if(!name || !val)\r
+ {\r
+ errno = EINVAL;\r
+ return NULL;\r
+ }\r
+ \r
+ variable = xbt_new0(s_variable_t, 1);\r
+ \r
+ variable->name = strdup(name);\r
+ variable->val = strdup(val);\r
+ variable->used = 0;\r
+ variable->env = 0;\r
+ variable->err = 0;\r
+ \r
+ return variable;\r
+ \r
+}\r
+\r
+int\r
+variable_free(variable_t* variableptr)\r
+{\r
+ if(!(*variableptr))\r
+ return EINVAL;\r
+ \r
+ if((*((variable_t*)(variableptr)))->name)\r
+ free((*((variable_t*)(variableptr)))->name);\r
+ \r
+ if((*((variable_t*)(variableptr)))->val)\r
+ free((*((variable_t*)(variableptr)))->val);\r
+ \r
+ free(*variableptr);\r
+ \r
+ *variableptr = NULL;\r
+ return 0;\r
+}\r
+\r
+\r
+int\r
+variable_is_used(variable_t variable)\r
+{\r
+ if(!variable)\r
+ {\r
+ errno = EINVAL;\r
+ return 0;\r
+ }\r
+ \r
+ return variable->used;\r
+}\r
+\r
+\r
+int\r
+variable_set_used(variable_t variable)\r
{\r
- char* name;\r
- char* val;\r
- int used;\r
-}s_variable_t;
\ No newline at end of file
+ if(!variable)\r
+ return EINVAL;\r
+ \r
+ variable->used = 1;\r
+ \r
+ return 0;\r
+}\r