DataMuseum.dk

Presents historical artifacts from the history of:

Commodore CBM-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Commodore CBM-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦c68d15706⟧ TextFile

    Length: 1215 (0x4bf)
    Types: TextFile
    Notes: UNIX file
    Names: »message.c«

Derivation

└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
    └─⟦f4b8d8c84⟧ UNIX Filesystem
        └─⟦this⟧ »cmd/ld/message.c« 

TextFile

/*
 * ▶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);
}