mirror of
https://github.com/yawut/SDL.git
synced 2026-08-22 16:55:29 -05:00
Merged r2903:2904 from SDL-1.2 branch to trunk: BeOS loadso updates.
This commit is contained in:
@@ -35,35 +35,25 @@ void *
|
||||
SDL_LoadObject(const char *sofile)
|
||||
{
|
||||
void *handle = NULL;
|
||||
const char *loaderror = "Unknown error";
|
||||
image_id library_id = load_add_on(sofile);
|
||||
if (library_id == B_ERROR) {
|
||||
loaderror = "BeOS error";
|
||||
if (library_id < 0) {
|
||||
SDL_SetError(strerror((int) library_id));
|
||||
} else {
|
||||
handle = (void *) (library_id);
|
||||
}
|
||||
|
||||
if (handle == NULL) {
|
||||
SDL_SetError("Failed loading %s: %s", sofile, loaderror);
|
||||
}
|
||||
return (handle);
|
||||
}
|
||||
|
||||
void *
|
||||
SDL_LoadFunction(void *handle, const char *name)
|
||||
{
|
||||
void *symbol = NULL;
|
||||
const char *loaderror = "Unknown error";
|
||||
void *sym = NULL;
|
||||
image_id library_id = (image_id) handle;
|
||||
if (get_image_symbol(library_id,
|
||||
name, B_SYMBOL_TYPE_TEXT, &symbol) != B_NO_ERROR) {
|
||||
loaderror = "Symbol not found";
|
||||
status_t rc = get_image_symbol(library_id, name, B_SYMBOL_TYPE_TEXT, &sym);
|
||||
if (rc != B_NO_ERROR) {
|
||||
SDL_SetError(strerror(rc));
|
||||
}
|
||||
|
||||
if (symbol == NULL) {
|
||||
SDL_SetError("Failed loading %s: %s", name, loaderror);
|
||||
}
|
||||
return (symbol);
|
||||
return (sym);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -77,4 +67,6 @@ SDL_UnloadObject(void *handle)
|
||||
}
|
||||
|
||||
#endif /* SDL_LOADSO_BEOS */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user