expose inew_number

master
Clyne Sullivan 7 years ago
parent 3b33fa0aeb
commit 8a25cb84e7

@ -402,7 +402,7 @@ variable **iparse(instance *it, const char *s)
for (int c = 0; c >= 0; end++) {
if (s[end] == '(')
c++;
if (c == 0 && last != end && (s[end] == ',' || s[end] == ')')) {
if (c == 0 && last != end && (s[end] == ',' || s[end] == ')' || s[end] == '\0')) {
argcount++;
char *arg = strnclone(s + last, end - last);
uint32_t parenidx = ooffset;
@ -418,7 +418,7 @@ variable **iparse(instance *it, const char *s)
ops[parenidx] = (variable *)(OP_MAGIC | count);
last = end + 1;
}
if (s[end] == ')')
if (s[end] == ')' || s[end] == '\0')
c--;
}
if (s[end] != '\0')

@ -78,6 +78,14 @@ int idoline(instance *it, const char *s);
*/
void inew_cfunc(instance *it, const char *name, func_t func);
/**
* Creates a script-accessible float number.
* @param it the current instance
* @param name the name of the new variable
* @param f the variable's initial value
*/
void inew_number(instance *it, const char *name, float f);
/**
* Pops a word from the instance's stack.
* @param it the current instance

Loading…
Cancel
Save