Ein Array von Array zurückgeben


 MODULE = Authen::SPNEGO::GSSAPI PACKAGE = Authen::SPNEGO::GSSAPI
 void
 array_gss_indicate_mechs()
    INIT:
        OM_uint32 major_status;
        OM_uint32 minor_status;
        gss_OID_set mechset;
        gss_OID tmp_oid;
        unsigned int i;
        unsigned int n;
        unsigned char *oidelem;
        AV *tmparray;
     PPCODE:
        _DBG("going to call gss_indicate_mechs...");
        major_status =  gss_indicate_mechs( &minor_status, &mechset);
        if (major_status) {
           _DBG("failed!");
        } else {
           _DBG("OK");
           for (i=0; i < mechset->count; i++) {
               _DBG("found");
               tmparray = newAV() ;
               tmp_oid = &mechset->elements[i];
               oidelem = tmp_oid->elements;
               for ( n=0; n < tmp_oid->length; n++) {
                   av_push(  tmparray, newSVuv( *oidelem )   );
                   oidelem++;
               }
            XPUSHs( sv_2mortal(  newRV((SV *) tmparray ) )   ) ;

           }
           gss_release_oid_set(&minor_status, &mechset);

        }