static ExtensionModule *
NewExtensionModule(void)
{
    ExtensionModule *save = ExtensionModuleList;
    int n;

    /* Make sure built-in extensions get added to the list before those
     * in modules. */
    AddStaticExtensions();

    /* Sanity check */
    if (!ExtensionModuleList)
        numExtensionModules = 0;

    n = numExtensionModules + 1;
    ExtensionModuleList = realloc(ExtensionModuleList,
                                  (n + 1) * sizeof(ExtensionModule));
    if (ExtensionModuleList == NULL) {
        ExtensionModuleList = save;
        return NULL;
    }
    else {
        numExtensionModules++;
        ExtensionModuleList[numExtensionModules].name = NULL;
        return ExtensionModuleList + (numExtensionModules - 1);
    }
}
Example #2
0
void
InitExtensions(int argc, char *argv[])
{
    int i;
    ExtensionModule *ext;

    AddStaticExtensions();

    for (i = 0; i < numExtensionModules; i++) {
        ext = &ExtensionModuleList[i];
        if (ext->initFunc != NULL &&
            (ext->disablePtr == NULL || !*ext->disablePtr)) {
            (ext->initFunc) ();
        }
    }
}
Example #3
0
void
LoadExtensionList(const ExtensionModule ext[], int size, Bool builtin)
{
    ExtensionModule *newext;
    int i;

    /* Make sure built-in extensions get added to the list before those
     * in modules. */
    AddStaticExtensions();

    if (!(newext = NewExtensionModuleList(size)))
        return;

    for (i = 0; i < size; i++, newext++) {
        newext->name = ext[i].name;
        newext->initFunc = ext[i].initFunc;
        newext->disablePtr = ext[i].disablePtr;
    }
}
Example #4
0
void
InitExtensions(int argc, char *argv[])
{
    int i;
    ExtensionModule *ext;

    AddStaticExtensions();

    for (i = 0; i < numExtensionModules; i++) {
        ext = &ExtensionModuleList[i];
        if (ext->initFunc != NULL &&
            (ext->disablePtr == NULL || !*ext->disablePtr)) {
            LogMessageVerb(X_INFO, 3, "Initializing extension %s\n",
                           ext->name);

            (ext->initFunc) ();
        }
    }
}