diff --git a/src/config/options.c b/src/config/options.c index 0cce49ba..329e9966 100644 --- a/src/config/options.c +++ b/src/config/options.c @@ -307,11 +307,15 @@ get_opt_( break; case OPT_BOOL: case OPT_INT: - case OPT_LONG: if (opt->value.number < opt->min || opt->value.number > opt->max) elinks_internal("Option %s has invalid value %d!", name, opt->value.number); break; + case OPT_LONG: + if (opt->value.big_number < opt->min + || opt->value.big_number > opt->max) + elinks_internal("Option %s has invalid value %ld!", name, opt->value.big_number); + break; case OPT_COMMAND: if (!opt->value.command) elinks_internal("Option %s has no value!", name); @@ -519,7 +523,7 @@ add_opt(struct option *tree, unsigned char *path, unsigned char *capt, option->value.number = (int) value; break; case OPT_LONG: - option->value.number = (long) value; /* FIXME: bignumber */ + option->value.big_number = (long) value; /* FIXME: cast from void * */ break; case OPT_COLOR: decode_color(value, strlen((unsigned char *) value), diff --git a/src/scripting/lua/core.c b/src/scripting/lua/core.c index d7207387..4732cfcc 100644 --- a/src/scripting/lua/core.c +++ b/src/scripting/lua/core.c @@ -562,9 +562,11 @@ l_get_option(LS) lua_pushboolean(S, opt->value.number); break; case OPT_INT: - case OPT_LONG: lua_pushnumber(S, opt->value.number); break; + case OPT_LONG: + lua_pushnumber(S, opt->value.big_number); + break; case OPT_STRING: lua_pushstring(S, opt->value.string); break;