owl_filter *owl_filter_new_fromstring(const char *name, const char *string) { owl_filter *f; char **argv; int argc; argv = owl_parseline(string, &argc); f = owl_filter_new(name, argc, strs(argv)); owl_parse_delete(argv, argc); return f; }
/* caller must free the return */ CALLER_OWN char *owl_cmddict_execute(const owl_cmddict *cd, const owl_context *ctx, const char *cmdbuff) { char **argv; int argc; char *retval = NULL; argv = owl_parseline(cmdbuff, &argc); if (argv == NULL) { owl_function_makemsg("Unbalanced quotes"); return NULL; } if (argc < 1) { g_strfreev(argv); return NULL; } retval = _owl_cmddict_execute(cd, ctx, strs(argv), argc, cmdbuff); g_strfreev(argv); return retval; }