Zugriff auf Array-Zeiger / Mehrere Rückgabewerte



  • Hallo,
    Folgendes Problem:
    Ich versuche grade mit einer Plugin-API unter C (Solaris) ein größeres Projekt zu realisieren.
    Jetzt habe ich dabei das Problem, dass eine Funktion mir ein Array of entries zurückliefert und ich nicht weiß, wie ich auf Elemente darauf zugreifen kann.
    Mein Versuch (lezte Zeile) schlägt leider fehl.

    // Definiere array of entries
    Slapi_Entry    ** entries;
    // Hole aus dem Übergeordneten Objekt "pbo" die Suchresultate und schreibe sie in "entries"
    rco |= slapi_pblock_get(pbo, SLAPI_PLUGIN_INTOP_SEARCH_ENTRIES,   entries);
    // Gebe ersten eintrag von entries aus
    Ausgabestring = slapi_entry2str(entries[0],&len)
    

    Aus der Dokumentation:

    Parameter-ID:
    SLAPI_PLUGIN_INTOP_SEARCH_ENTRIES

    Data Type:
    Slapi_Entry **

    Description:
    Array of entries found by internal search.

    Normalerweise definier ich einen Entry so:
    Slapi_Entry * entry;

    und der Code funktioniert:

    // Definiere entry
    Slapi_Entry * entry;
    // Hole aus dem Übergeordneten Objekt "pbo" die Suchresultate und schreibe sie in "entries"
    rco |= slapi_pblock_get(pbo, SLAPI_PLUGIN_GET_ENTRY, entry);
    // Gebe entry aus (Struktur gibt nur einen entry zurück
    Ausgabestring = slapi_entry2str(entry,&len)
    

    Ich bin mir nicht ganz Sicher was bei dem array der zusätzliche Stern bedeutet.
    Ein Zeiger auf ein Array?
    Kann mich da jemand aufklären?

    Sonst irgendwelche Hinweise oder Ideen?

    gruß
    dose



  • Hierbei handelt es sich um einen Zeiger auf einen Zeiger:

    Zeiger --> Zeiger --> Variable 👍

    Zeh Mau


Log in to reply