|
|
1.1 ! root 1: /* ! 2: * ld/message.c ! 3: * Print messages of various origins. ! 4: */ ! 5: ! 6: #include "data.h" ! 7: ! 8: void ! 9: message( args ) ! 10: char * args; ! 11: { ! 12: printf( "ld: %r\n", &args ); ! 13: } ! 14: ! 15: /* ! 16: * Fatal error; print message and exit ! 17: */ ! 18: void ! 19: fatal( args ) ! 20: char * args; ! 21: { ! 22: fprintf( stderr, "ld: %r\n", &args ); ! 23: exit( 1 ); ! 24: } ! 25: ! 26: /* ! 27: * message plus command prototype ! 28: */ ! 29: void ! 30: usage( args ) ! 31: char * args; ! 32: { ! 33: fatal( "%r\n\ ! 34: Usage: ld [-d] [-e entry] [-k[sysnam]] [-i] [-l<name>] [-m] [-n] [-o file]\\\n\ ! 35: \t[-C] [-r] [-s] [-u symbol] [-X|x] file ...", ! 36: &args ); ! 37: } ! 38: ! 39: /* ! 40: * message with filename ! 41: */ ! 42: void ! 43: filemsg( fname, args ) ! 44: char *fname, *args; ! 45: { ! 46: message( "file %s: %r", fname, &args ); ! 47: } ! 48: ! 49: /* ! 50: * Message with module and file name ! 51: */ ! 52: void ! 53: modmsg( fname, mname, args ) ! 54: char * fname; ! 55: char mname[DIRSIZ]; ! 56: char * args; ! 57: { ! 58: if ( mname[0] == 0 ) ! 59: filemsg( fname, "%r", &args ); ! 60: ! 61: else ! 62: filemsg( fname, "module %.*s: %r", ! 63: DIRSIZ, mname, &args ); ! 64: } ! 65: ! 66: /* ! 67: * Message for module passed by pointer ! 68: */ ! 69: void ! 70: mpmsg( mp, args ) ! 71: mod_t * mp; ! 72: char * args; ! 73: { ! 74: modmsg( mp->fname, mp->mname, "%r", &args ); ! 75: } ! 76: ! 77: /* ! 78: * Message for symbol passed by pointer ! 79: */ ! 80: void ! 81: spmsg( sp, args ) ! 82: sym_t *sp; ! 83: char *args; ! 84: { ! 85: if ( sp->mod == NULL ) ! 86: message( "symbol %.*s: %r", NCPLN, sp->s.ls_id, &args ); ! 87: ! 88: else ! 89: mpmsg( sp->mod, "symbol %.*s: %r", NCPLN, sp->s.ls_id, &args ); ! 90: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.