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>