1/*********************************************************************
2 *   Copyright 1996, UCAR/Unidata
3 *   See netcdf/COPYRIGHT file for copying and redistribution conditions.
4 *   $Id: error.c,v 1.7 2007/05/15 01:36:57 ed Exp $
5 *********************************************************************/
6
7#include <config.h>
8#include <stddef.h> /* because gcc 2.7.2.2 doesn't define size_t */
9 /* in <stdio.h> and it cannot hurt */
10#include <stdio.h>
11#include <stdarg.h>
12
13#include "error.h"
14#include "tests.h"
15
16/*
17 * Use for logging error conditions
18 */
19void
20error(const char *fmt, ...)
21{
22    va_list args ;
23
24    va_start(argsfmt) ;
25    if (nfails <= max_nmpt)
26 (void) vfprintf(stderr,fmt,args) ;
27    va_end(args) ;
28}
29
30/*
31 * Use for general printing (other than error conditions)
32 * This also currently goes to stderr, but this could change
33 */
34void
35print(const char *fmt, ...)
36{
37    va_list args ;
38
39    va_start(argsfmt) ;
40    (void) vfprintf(stderr,fmt,args) ;
41    va_end(args) ;
42}
43
44/*
45 * Called by macro IF
46 */
47int
48ifFail(const int expr, const int line, const char *file)
49{
50    if (expr != 0) {
51 ++nfails;
52 error("\n\tFAILURE at line %d of %s: ", linefile);
53    }
54    return expr;
55}
56
57/* TODO:
58 * This diagnostic doesn't fit very well with the diagnostic message
59 * "architecture" of this program.
60 */
61void
62print_n_size_t(size_t nelems, const size_t *array)
63{
64 fprintf(stderr, "[");
65 while(nelems-- > 0)
66 {
67 fprintf(stderr, "%ld", (long)*array++);
68 if(nelems > 0)
69 fprintf(stderr, " ");
70 }
71 fprintf(stderr, "]");
72}


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed