Exemple #1
0
int
ni_var_array_get_integer(ni_var_array_t *nva, const char *name, unsigned int *p)
{
	ni_var_t *var;

	*p = 0;
	if ((var = ni_var_array_get(nva, name)) != NULL)
		*p = strtoul(var->value, NULL, 0);
	return 0;
}
Exemple #2
0
int
ni_var_array_get_boolean(ni_var_array_t *nva, const char *name, int *p)
{
	ni_var_t *var;

	*p = 0;
	if ((var = ni_var_array_get(nva, name)) != NULL) {
		if (!strcasecmp(var->value, "on")
		 || !strcasecmp(var->value, "true")
		 || !strcasecmp(var->value, "yes"))
			*p = 1;
	}
	return 0;
}
Exemple #3
0
int
ni_var_array_get_string(ni_var_array_t *nva, const char *name, char **p)
{
	ni_var_t *var;

	if (*p) {
		free(*p);
		*p = NULL;
	}

	if ((var = ni_var_array_get(nva, name)) != NULL)
		*p = xstrdup(var->value);
	return 0;
}
Exemple #4
0
void
ni_var_array_set(ni_var_array_t *nva, const char *name, const char *value)
{
	ni_var_t *var;

	if ((var = ni_var_array_get(nva, name)) == NULL) {
		if ((nva->count % NI_VAR_ARRAY_CHUNK) == 0)
			__ni_var_array_realloc(nva, nva->count);

		var = &nva->data[nva->count++];
		var->name = xstrdup(name);
		var->value = NULL;
	}

	ni_string_dup(&var->value, value);
}
Exemple #5
0
ni_var_t *
ni_ifsysctl_vars_get(const ni_var_array_t *vars, const char *keyfmt, ...)
{
	ni_var_t *var;
	char *key = NULL;
	va_list ap;
	int ret;

	if(!vars || !keyfmt)
		return NULL;

	va_start(ap, keyfmt);
	ret = vasprintf(&key, keyfmt, ap);
	va_end(ap);
	if (ret < 0)
		return NULL;

	__ni_sysctl_rewrite_to_dot(key);
	var = ni_var_array_get(vars, key);
	ni_string_free(&key);
	return var;
}
Exemple #6
0
const ni_var_t *
xml_node_get_attr_var(const xml_node_t *node, const char *name)
{
	return node ? ni_var_array_get(&node->attrs, name) : NULL;
}