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); } }
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) (); } } }
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; } }
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) (); } } }