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++) { for (int c = 0; c >= 0; end++) {
if (s[end] == '(') if (s[end] == '(')
c++; c++;
if (c == 0 && last != end && (s[end] == ',' || s[end] == ')')) { if (c == 0 && last != end && (s[end] == ',' || s[end] == ')' || s[end] == '\0')) {
argcount++; argcount++;
char *arg = strnclone(s + last, end - last); char *arg = strnclone(s + last, end - last);
uint32_t parenidx = ooffset; uint32_t parenidx = ooffset;
@ -418,7 +418,7 @@ variable **iparse(instance *it, const char *s)
ops[parenidx] = (variable *)(OP_MAGIC | count); ops[parenidx] = (variable *)(OP_MAGIC | count);
last = end + 1; last = end + 1;
} }
if (s[end] == ')') if (s[end] == ')' || s[end] == '\0')
c--; c--;
} }
if (s[end] != '\0') 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); 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. * Pops a word from the instance's stack.
* @param it the current instance * @param it the current instance

Loading…
Cancel
Save