if (handle == NULL) { if (s_timeIt || s_verbose) {
printf ("error in dlopen: %s", dlerror());
} return MLIB_FAILURE;
}
/* So, if we are here, then either vis or generic version of *medialiblibrarywassuccessfullyloaded. *Let'strytoinitializehandlers...
*/ if ((tempSysFns.createFP = (MlibCreateFP_t)dlsym(handle, "j2d_mlib_ImageCreate")) == NULL) { if (s_timeIt) {
printf ("error in dlsym: %s", dlerror());
}
ret = MLIB_FAILURE;
}
if (ret == MLIB_SUCCESS) { if ((tempSysFns.createStructFP = (MlibCreateStructFP_t)dlsym(handle, "j2d_mlib_ImageCreateStruct")) == NULL) { if (s_timeIt) {
printf ("error in dlsym: %s", dlerror());
}
ret = MLIB_FAILURE;
}
}
if (ret == MLIB_SUCCESS) { if ((tempSysFns.deleteImageFP = (MlibDeleteFP_t)dlsym(handle, "j2d_mlib_ImageDelete")) == NULL) { if (s_timeIt) {
printf ("error in dlsym: %s", dlerror());
}
ret = MLIB_FAILURE;
}
}
/* Set the system functions */ if (ret == MLIB_SUCCESS) {
*sMlibSysFns = tempSysFns;
}
/* Loop through all of the fns and load them from the next library */
mptr = sMlibFns;
i = 0; while ((ret == MLIB_SUCCESS) && (mptr[i].fname != NULL)) {
fPtr = (mlib_status (*)())dlsym(handle, mptr[i].fname); if (fPtr != NULL) {
mptr[i].fptr = fPtr;
} else {
ret = MLIB_FAILURE;
}
i++;
} if (ret != MLIB_SUCCESS) {
dlclose(handle);
} return ret;
} #endif
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.