Annotation of rpl/modules/sets/stol.rplc, revision 1.1
1.1 ! bertrand 1: #include "src/rplexternals.h"
! 2: #include "sets.h"
! 3:
! 4: declareExternalFunction(stol)
! 5: declareObject(object);
! 6: declareObject(result);
! 7: declareObject(subObject);
! 8:
! 9: integer8 i;
! 10:
! 11: HEADER
! 12: declareHelpString("Set to list");
! 13: numberOfArguments(1);
! 14: FUNCTION
! 15: pullFromStack(object, external);
! 16: returnOnError(freeObject(object));
! 17:
! 18: if (objectSubtype(object) ne ISET) then
! 19: executionError("Type not allowed");
! 20: freeObject(object);
! 21: endIf
! 22:
! 23: createListObject(result);
! 24:
! 25: loop(i = objectContainer(set_t, object)->size - 1,
! 26: i ge 0, postDecr(i))
! 27: createIntegerObject(subObject);
! 28: setInteger(subObject, objectContainer(set_t, object)->values[i]);
! 29: insertObjectIntoList(result, subObject);
! 30: endLoop
! 31:
! 32: freeObject(object);
! 33: pushOnStack(result);
! 34: END
! 35: endExternalFunction
! 36:
! 37: // vim: ts=4
CVSweb interface <joel.bertrand@systella.fr>