diff --git a/src/ec.c b/src/ec.c index 1dafb2d..73b09d7 100644 --- a/src/ec.c +++ b/src/ec.c @@ -56,25 +56,24 @@ void lsec_load_curves(lua_State *L) lua_pushnumber(L, curves[i].nid); lua_rawset(L, -3); break; -#ifdef NID_X25519 - case NID_X25519: - lua_pushstring(L, "X25519"); - lua_pushnumber(L, curves[i].nid); - lua_rawset(L, -3); - break; -#endif -#ifdef NID_X448 - case NID_X448: - lua_pushstring(L, "X448"); - lua_pushnumber(L, curves[i].nid); - lua_rawset(L, -3); - break; -#endif } } free(curves); } + /* These are special so are manually added here */ +#ifdef NID_X25519 + lua_pushstring(L, "X25519"); + lua_pushnumber(L, NID_X25519); + lua_rawset(L, -3); +#endif + +#ifdef NID_X448 + lua_pushstring(L, "X448"); + lua_pushnumber(L, NID_X448); + lua_rawset(L, -3); +#endif + lua_rawset(L, LUA_REGISTRYINDEX); }