5 #include <talloc/talloc.h>
6 #include <array-size/array-size.h>
11 static int builtin_set(struct grub2_script *script,
12 void *data __attribute__((unused)),
13 int argc, char *argv[])
15 char *name, *value, *p;
21 p = strchr(argv[1], '=');
25 name = talloc_strndup(script, argv[1], p - argv[1]);
26 value = talloc_strdup(script, p+1);
28 for (i = 2; i < argc; i++)
29 value = talloc_asprintf_append(value, " %s", argv[i]);
31 script_env_set(script, name, value);
46 void register_builtins(struct grub2_script *script)
50 for (i = 0; i < ARRAY_SIZE(builtins); i++)
51 script_register_function(script, builtins[i].name,
52 builtins[i].fn, NULL);