DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

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

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦2562b9105⟧ TextFile

    Length: 2168 (0x878)
    Types: TextFile
    Names: »msg.c«

Derivation

└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦f68d31fd9⟧ »./gawk-2.11.tar.Z« 
        └─⟦2fc192871⟧ 
            └─⟦this⟧ »gawk-2.11/msg.c« 
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦6dcdebfcf⟧ »EurOpenD3/gnu/gawk/gawk-2.11.1.tar.Z« 
└─⟦a05ed705a⟧ Bits:30007078 DKUUG GNU 2/12/89
    └─⟦6dcdebfcf⟧ »./gawk-2.11.1.tar.Z« 
        └─⟦3c42ca21a⟧ 
            └─⟦this⟧ »gawk-2.11/msg.c« 

TextFile

/*
 * msg.c - routines for error messages
 */

/* 
 * Copyright (C) 1986, 1988, 1989 the Free Software Foundation, Inc.
 * 
 * This file is part of GAWK, the GNU implementation of the
 * AWK Progamming Language.
 * 
 * GAWK is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 1, or (at your option)
 * any later version.
 * 
 * GAWK is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public License
 * along with GAWK; see the file COPYING.  If not, write to
 * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include "awk.h"

int sourceline = 0;
char *source = NULL;

/* VARARGS2 */
static void
err(s, msg, argp)
char *s;
char *msg;
va_list *argp;
{
	int line;
	char *file;

	(void) fprintf(stderr, "%s: %s ", myname, s);
	vfprintf(stderr, msg, *argp);
	(void) fprintf(stderr, "\n");
	line = (int) FNR_node->var_value->numbr;
	if (line) {
		(void) fprintf(stderr, " input line number %d", line);
		file = FILENAME_node->var_value->stptr;
		if (file && !STREQ(file, "-"))
			(void) fprintf(stderr, ", file `%s'", file);
		(void) fprintf(stderr, "\n");
	}
	if (sourceline) {
		(void) fprintf(stderr, " source line number %d", sourceline);
		if (source)
			(void) fprintf(stderr, ", file `%s'", source);
		(void) fprintf(stderr, "\n");
	}
}

/*VARARGS0*/
void
msg(va_alist)
va_dcl
{
	va_list args;
	char *mesg;

	va_start(args);
	mesg = va_arg(args, char *);
	err("", mesg, &args);
	va_end(args);
}

/*VARARGS0*/
void
warning(va_alist)
va_dcl
{
	va_list args;
	char *mesg;

	va_start(args);
	mesg = va_arg(args, char *);
	err("warning:", mesg, &args);
	va_end(args);
}

/*VARARGS0*/
void
fatal(va_alist)
va_dcl
{
	va_list args;
	char *mesg;

	va_start(args);
	mesg = va_arg(args, char *);
	err("fatal error:", mesg, &args);
	va_end(args);
#ifdef DEBUG
	abort();
#endif
	exit(1);
}