Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/interpose.cfa

    r851fd92 r5ccee64  
    1010// Created On       : Wed Mar 29 16:10:31 2017
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Fri Mar 13 17:35:37 2020
    13 // Update Count     : 178
     12// Last Modified On : Mon Feb 17 10:18:53 2020
     13// Update Count     : 166
    1414//
    1515
    1616#include <stdarg.h>                                                                             // va_start, va_end
    17 #include <stdio.h>
    1817#include <string.h>                                                                             // strlen
    1918#include <unistd.h>                                                                             // _exit, getpid
     
    144143void abort( const char fmt[], ... ) __attribute__(( format(printf, 1, 2), __nothrow__, __leaf__, __noreturn__ ));
    145144void abort( bool signalAbort, const char fmt[], ... ) __attribute__(( format(printf, 2, 3), __nothrow__, __leaf__, __noreturn__ ));
    146 void __abort( bool signalAbort, const char fmt[], va_list args ) __attribute__(( __nothrow__, __leaf__, __noreturn__ ));
    147145
    148146extern "C" {
     
    154152                va_list argp;
    155153                va_start( argp, fmt );
    156                 __abort( false, fmt, argp );
     154                abort( false, fmt, argp );
    157155                va_end( argp );
    158156        }
     
    220218}
    221219
    222 // Cannot forward va_list.
    223 void __abort( bool signalAbort, const char fmt[], va_list args ) {
     220void abort( bool signalAbort, const char fmt[], ... ) {
    224221        void * kernel_data = kernel_abort();                            // must be done here to lock down kernel
    225222        int len;
     
    231228
    232229        assert( fmt );
     230        va_list args;
     231        va_start( args, fmt );
     232
    233233        len = vsnprintf( abort_text, abort_text_size, fmt, args );
     234        va_end( args );
    234235        __cfaabi_bits_write( STDERR_FILENO, abort_text, len );
    235236
    236237        if ( fmt[strlen( fmt ) - 1] != '\n' ) {                         // add optional newline if missing at the end of the format text
    237                 __cfaabi_bits_write( STDERR_FILENO, "\n", 1 );
     238                __cfaabi_dbg_write( "\n", 1 );
    238239        } // if
    239240        kernel_abort_msg( kernel_data, abort_text, abort_text_size );
     
    247248        va_list args;
    248249        va_start( args, fmt );
    249         __abort( false, fmt, args );
    250     // CONTROL NEVER REACHES HERE!
     250        abort( false, fmt, args );
    251251        va_end( args );
    252 }
    253 
    254 void abort( bool signalAbort, const char fmt[], ... ) {
    255     va_list args;
    256     va_start( args, fmt );
    257     __abort( signalAbort, fmt, args );
    258     // CONTROL NEVER REACHES HERE!
    259     va_end( args );
    260252}
    261253
Note: See TracChangeset for help on using the changeset viewer.