All pastes #69606 Raw Edit

Mine

public c v1 · immutable
#69606 ·published 2006-06-23 04:40 UTC
rendered paste body
// take the command field in target_host and substitute away any string of type {key with}// the actual value of the key if it is defined. if not defined, null will be placedgboolean perform_cmd_substition(struct host* target_host, gchar** resultant_cmd, int var_len, ...) {	GList *key_node = target_host->keys;	gchar* s;	gchar* key = NULL;	gchar* value = NULL;	gchar* ret = g_strdup(target_host->cmd);		va_list ap;	va_start(ap, var_len);	while (var_len--) {		gchar *temp;		s = va_arg(ap, gchar *);		key = str_unpack_key(s);		value = str_unpack_value(s);		if (key == NULL || value == NULL) {			if (key) free(key);			if (value) free(value);			g_warning("perform_cmd_substition:malformed substition\n");			continue;		}						// case sensitive string replace		temp = str_replace(ret, key, value);		g_assert(temp != NULL);				// dump the old return string and replace it with the replaced string		free(ret);		free(key);		free(value);				ret = temp;			}    		va_end(ap);