#include "src/rplexternals.h" #include "sets.h" declareExternalFunction(stol) declareObject(object); declareObject(result); declareObject(subObject); integer8 i; HEADER declareHelpString("Set to list"); numberOfArguments(1); FUNCTION pullFromStack(object, external); returnOnError(freeObject(object)); if (objectSubtype(object) ne ISET) then executionError("Type not allowed"); freeObject(object); endIf createListObject(result); loop(i = objectContainer(set_t, object)->size - 1, i ge 0, postDecr(i)) createIntegerObject(subObject); setInteger(subObject, objectContainer(set_t, object)->values[i]); insertObjectIntoList(result, subObject); endLoop freeObject(object); pushOnStack(result); END endExternalFunction // vim: ts=4