|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1215 (0x4bf) Types: TextFile Notes: UNIX file Names: »message.c«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code └─⟦f4b8d8c84⟧ UNIX Filesystem └─⟦this⟧ »cmd/ld/message.c«
/* * ▶10◀Print messages of various origins */ void message(args) char *args; { printf("Ld: %r\n", &args); } /* * Fatal error; print message and exit */ void fatal(args) char *args; { fprintf(stderr, "Ld: %r\n", &args); exit(1); } /* * message plus command prototype */ void usage(args) char *args; { fatal("%r\n\ Usage: ld [-d] [-e entry] [-k[sysnam]] [-i] [-l<name>] [-m] [-n] [-o file]\\\n\ \t[-R relocbase] [-L] [-r] [-s] [-u symbol] [-X|x] file ...", &args); } /* * message with filename */ void filemsg(fname, args) char *fname, *args; { message("file %s: %r", fname, &args); } /* * Message with module and file name */ void modmsg(fname, mname, args) char *fname, mname[DIRSIZ], *args; { if (mname[0]==0) filemsg(fname, "%r", &args); else filemsg(fname, "module %.*s: %r", DIRSIZ, mname, &args); } /* * Message for module passed by pointer */ void mpmsg(mp, args) mod_t *mp; char *args; { modmsg(mp->fname, mp->mname, "%r", &args); } /* * Message for symbol passed by pointer */ void spmsg(sp, args) sym_t *sp; char *args; { if (sp->mod==NULL) message("symbol %.*s: %r", NCPLN, sp->s.ls_id, &args); else mpmsg(sp->mod, "symbol %.*s: %r", NCPLN, sp->s.ls_id, &args); }