xref: /rk3399_rockchip-uboot/tools/gdb/error.c (revision 6dd652fa4d8591a32e2707a91f4582ed13011b17)
1*6dd652faSwdenk /*
2*6dd652faSwdenk  * (C) Copyright 2000
3*6dd652faSwdenk  * Murray Jensen <Murray.Jensen@csiro.au>
4*6dd652faSwdenk  *
5*6dd652faSwdenk  * See file CREDITS for list of people who contributed to this
6*6dd652faSwdenk  * project.
7*6dd652faSwdenk  *
8*6dd652faSwdenk  * This program is free software; you can redistribute it and/or
9*6dd652faSwdenk  * modify it under the terms of the GNU General Public License as
10*6dd652faSwdenk  * published by the Free Software Foundation; either version 2 of
11*6dd652faSwdenk  * the License, or (at your option) any later version.
12*6dd652faSwdenk  *
13*6dd652faSwdenk  * This program is distributed in the hope that it will be useful,
14*6dd652faSwdenk  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15*6dd652faSwdenk  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16*6dd652faSwdenk  * GNU General Public License for more details.
17*6dd652faSwdenk  *
18*6dd652faSwdenk  * You should have received a copy of the GNU General Public License
19*6dd652faSwdenk  * along with this program; if not, write to the Free Software
20*6dd652faSwdenk  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21*6dd652faSwdenk  * MA 02111-1307 USA
22*6dd652faSwdenk  */
23*6dd652faSwdenk 
243ba68654Swdenk #include <stdio.h>
253ba68654Swdenk #include <stdlib.h>
263ba68654Swdenk #include <string.h>
273ba68654Swdenk #include <errno.h>
283ba68654Swdenk #include "error.h"
293ba68654Swdenk 
303ba68654Swdenk char *pname;
313ba68654Swdenk 
323ba68654Swdenk void
333ba68654Swdenk Warning(char *fmt, ...)
343ba68654Swdenk {
353ba68654Swdenk     va_list args;
363ba68654Swdenk 
373ba68654Swdenk     fprintf(stderr, "%s: WARNING: ", pname);
383ba68654Swdenk 
393ba68654Swdenk     va_start(args, fmt);
403ba68654Swdenk     vfprintf(stderr, fmt, args);
413ba68654Swdenk     va_end(args);
423ba68654Swdenk 
433ba68654Swdenk     fprintf(stderr, "\n");
443ba68654Swdenk }
453ba68654Swdenk 
463ba68654Swdenk void
473ba68654Swdenk Error(char *fmt, ...)
483ba68654Swdenk {
493ba68654Swdenk     va_list args;
503ba68654Swdenk 
513ba68654Swdenk     fprintf(stderr, "%s: ERROR: ", pname);
523ba68654Swdenk 
533ba68654Swdenk     va_start(args, fmt);
543ba68654Swdenk     vfprintf(stderr, fmt, args);
553ba68654Swdenk     va_end(args);
563ba68654Swdenk 
573ba68654Swdenk     fprintf(stderr, "\n");
583ba68654Swdenk 
593ba68654Swdenk     exit(1);
603ba68654Swdenk }
613ba68654Swdenk 
623ba68654Swdenk void
633ba68654Swdenk Perror(char *fmt, ...)
643ba68654Swdenk {
653ba68654Swdenk     va_list args;
663ba68654Swdenk     int e = errno;
673ba68654Swdenk     char *p;
683ba68654Swdenk 
693ba68654Swdenk     fprintf(stderr, "%s: ERROR: ", pname);
703ba68654Swdenk 
713ba68654Swdenk     va_start(args, fmt);
723ba68654Swdenk     vfprintf(stderr, fmt, args);
733ba68654Swdenk     va_end(args);
743ba68654Swdenk 
753ba68654Swdenk     if ((p = strerror(e)) == NULL || *p == '\0')
763ba68654Swdenk 	fprintf(stderr, ": Unknown Error (%d)\n", e);
773ba68654Swdenk     else
783ba68654Swdenk 	fprintf(stderr, ": %s\n", p);
793ba68654Swdenk 
803ba68654Swdenk     exit(1);
813ba68654Swdenk }
82