273
274
275
276
277
278
279
280
281
282
283
284
285
286
|
void *__objc_class_name_OFBitSetCharacterSet;
void *__objc_class_name_OFMapTableSet;
void *__objc_class_name_OFMutableMapTableSet;
void *__objc_class_name_OFMutableUTF8String;
void *__objc_class_name_OFRangeCharacterSet;
void *__objc_class_name_OFSelectKernelEventObserver;
void *__objc_class_name_OFUTF8String;
static int *
get_errno(void)
{
return &errno;
}
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
|
void *__objc_class_name_OFBitSetCharacterSet;
void *__objc_class_name_OFMapTableSet;
void *__objc_class_name_OFMutableMapTableSet;
void *__objc_class_name_OFMutableUTF8String;
void *__objc_class_name_OFRangeCharacterSet;
void *__objc_class_name_OFSelectKernelEventObserver;
void *__objc_class_name_OFUTF8String;
static void
error(const char *string, ULONG arg)
{
struct Library *IntuitionBase = OpenLibrary("intuition.library", 0);
if (IntuitionBase != NULL) {
struct EasyStruct easy = {
.es_StructSize = sizeof(easy),
.es_Flags = 0,
.es_Title = (UBYTE *)NULL,
.es_TextFormat = (UBYTE *)string,
(UBYTE *)"OK"
};
EasyRequest(NULL, &easy, NULL, arg);
CloseLibrary(IntuitionBase);
}
exit(EXIT_FAILURE);
}
static int *
get_errno(void)
{
return &errno;
}
|
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
|
.setlocale = setlocale,
._Unwind_Backtrace = _Unwind_Backtrace
};
if (initialized)
return;
if ((ObjFWBase = OpenLibrary(OBJFW_AMIGA_LIB,
OBJFW_LIB_MINOR)) == NULL) {
/*
* The linklib can be used by other libraries as well, so we
* can't have the compiler optimize this to another function,
* hence the use of an unnecessary format specifier.
*/
fprintf(stderr, "Failed to open %s!\n", OBJFW_AMIGA_LIB);
abort();
}
if (!glue_of_init(1, &libc, __sF)) {
/*
* The linklib can be used by other libraries as well, so we
* can't have the compiler optimize this to another function,
* hence the use of an unnecessary format specifier.
*/
fprintf(stderr, "Failed to initialize %s!\n", OBJFW_AMIGA_LIB);
abort();
}
initialized = true;
}
static void __attribute__((__used__))
dtor(void)
{
|
|
>
|
<
<
<
<
<
<
<
|
<
|
<
<
<
<
<
|
<
<
|
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
|
.setlocale = setlocale,
._Unwind_Backtrace = _Unwind_Backtrace
};
if (initialized)
return;
if ((ObjFWBase = OpenLibrary(OBJFW_AMIGA_LIB, OBJFW_LIB_MINOR)) == NULL)
error("Failed to open " OBJFW_AMIGA_LIB " version %lu!",
OBJFW_LIB_MINOR);
if (!glue_of_init(1, &libc, __sF))
error("Failed to initialize " OBJFWRT_AMIGA_LIB "!", 0);
initialized = true;
}
static void __attribute__((__used__))
dtor(void)
{
|