summaryrefslogtreecommitdiff
path: root/src/bin/psql/variables.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/variables.c')
-rw-r--r--src/bin/psql/variables.c168
1 files changed, 93 insertions, 75 deletions
diff --git a/src/bin/psql/variables.c b/src/bin/psql/variables.c
index ea824cff69..132ecc9322 100644
--- a/src/bin/psql/variables.c
+++ b/src/bin/psql/variables.c
@@ -6,127 +6,145 @@
#include <assert.h>
-VariableSpace CreateVariableSpace(void)
+VariableSpace
+CreateVariableSpace(void)
{
- struct _variable *ptr;
-
- ptr = calloc(1, sizeof *ptr);
- if (!ptr) return NULL;
+ struct _variable *ptr;
+
+ ptr = calloc(1, sizeof *ptr);
+ if (!ptr)
+ return NULL;
+
+ ptr->name = strdup("@");
+ ptr->value = strdup("");
+ if (!ptr->name || !ptr->value)
+ {
+ free(ptr->name);
+ free(ptr->value);
+ free(ptr);
+ return NULL;
+ }
- ptr->name = strdup("@");
- ptr->value = strdup("");
- if (!ptr->name || !ptr->value) {
- free(ptr->name);
- free(ptr->value);
- free(ptr);
- return NULL;
- }
-
- return ptr;
+ return ptr;
}
-const char * GetVariable(VariableSpace space, const char * name)
+const char *
+GetVariable(VariableSpace space, const char *name)
{
- struct _variable *current;
+ struct _variable *current;
- if (!space)
- return NULL;
+ if (!space)
+ return NULL;
- if (strspn(name, VALID_VARIABLE_CHARS) != strlen(name)) return NULL;
+ if (strspn(name, VALID_VARIABLE_CHARS) != strlen(name))
+ return NULL;
- for (current = space; current; current = current->next) {
+ for (current = space; current; current = current->next)
+ {
#ifdef USE_ASSERT_CHECKING
- assert(current->name);
- assert(current->value);
+ assert(current->name);
+ assert(current->value);
#endif
- if (strcmp(current->name, name)==0)
- return current->value;
- }
+ if (strcmp(current->name, name) == 0)
+ return current->value;
+ }
- return NULL;
+ return NULL;
}
-bool GetVariableBool(VariableSpace space, const char * name)
+bool
+GetVariableBool(VariableSpace space, const char *name)
{
- return GetVariable(space, name)!=NULL ? true : false;
+ return GetVariable(space, name) != NULL ? true : false;
}
-bool SetVariable(VariableSpace space, const char * name, const char * value)
+bool
+SetVariable(VariableSpace space, const char *name, const char *value)
{
- struct _variable *current, *previous;
+ struct _variable *current,
+ *previous;
- if (!space)
- return false;
+ if (!space)
+ return false;
- if (!value)
- return DeleteVariable(space, name);
+ if (!value)
+ return DeleteVariable(space, name);
- if (strspn(name, VALID_VARIABLE_CHARS) != strlen(name)) return false;
+ if (strspn(name, VALID_VARIABLE_CHARS) != strlen(name))
+ return false;
- for (current = space; current; previous = current, current = current->next) {
+ for (current = space; current; previous = current, current = current->next)
+ {
#ifdef USE_ASSERT_CHECKING
- assert(current->name);
- assert(current->value);
+ assert(current->name);
+ assert(current->value);
#endif
- if (strcmp(current->name, name)==0) {
- free (current->value);
- current->value = strdup(value);
- return current->value ? true : false;
+ if (strcmp(current->name, name) == 0)
+ {
+ free(current->value);
+ current->value = strdup(value);
+ return current->value ? true : false;
+ }
}
- }
-
- previous->next = calloc(1, sizeof *(previous->next));
- if (!previous->next)
- return false;
- previous->next->name = strdup(name);
- if (!previous->next->name)
- return false;
- previous->next->value = strdup(value);
- return previous->next->value ? true : false;
+
+ previous->next = calloc(1, sizeof *(previous->next));
+ if (!previous->next)
+ return false;
+ previous->next->name = strdup(name);
+ if (!previous->next->name)
+ return false;
+ previous->next->value = strdup(value);
+ return previous->next->value ? true : false;
}
-bool DeleteVariable(VariableSpace space, const char * name)
+bool
+DeleteVariable(VariableSpace space, const char *name)
{
- struct _variable *current, *previous;
+ struct _variable *current,
+ *previous;
- if (!space)
- return false;
+ if (!space)
+ return false;
- if (strspn(name, VALID_VARIABLE_CHARS) != strlen(name)) return false;
+ if (strspn(name, VALID_VARIABLE_CHARS) != strlen(name))
+ return false;
- for (current = space, previous = NULL; current; previous = current, current = current->next) {
+ for (current = space, previous = NULL; current; previous = current, current = current->next)
+ {
#ifdef USE_ASSERT_CHECKING
- assert(current->name);
- assert(current->value);
+ assert(current->name);
+ assert(current->value);
#endif
- if (strcmp(current->name, name)==0) {
- free (current->name);
- free (current->value);
- if (previous)
- previous->next = current->next;
- free(current);
- return true;
+ if (strcmp(current->name, name) == 0)
+ {
+ free(current->name);
+ free(current->value);
+ if (previous)
+ previous->next = current->next;
+ free(current);
+ return true;
+ }
}
- }
- return true;
+ return true;
}
-void DestroyVariableSpace(VariableSpace space)
+void
+DestroyVariableSpace(VariableSpace space)
{
- if (!space)
- return;
+ if (!space)
+ return;
- DestroyVariableSpace(space->next);
- free(space);
+ DestroyVariableSpace(space->next);
+ free(space);
}