File: error.c

package info (click to toggle)
bwctl 1.4.1~rc2-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 5,812 kB
  • sloc: ansic: 24,306; sh: 11,518; makefile: 197; perl: 151
file content (72 lines) | stat: -rw-r--r-- 1,746 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*
 **      $Id: error.c 566 2012-05-03 14:23:48Z aaron $
 */
/************************************************************************
 *									*
 *			     Copyright (C)  2003			*
 *				Internet2				*
 *			     All Rights Reserved			*
 *									*
 ************************************************************************/
/*
 **	File:		error.c
 **
 **	Author:		Jeff W. Boote
 **
 **	Date:		Tue Sep 16 14:26:09 MDT 2003
 **
 **	Description:	
 *
 *    License:
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 */
#include <stdio.h>
#include <stdarg.h>
#include <bwlibP.h>

void
BWLError_(
        BWLContext	ctx,
        BWLErrSeverity	severity,
        BWLErrType	etype,
        const char	*fmt,
        ...
        )
{
    va_list ap;

    /*
     * Don't report errors that are not at least as severe as errmaskprio
     */
    if(severity > ctx->errmaskprio){
        return;
    }

    va_start(ap,fmt);

    if(ctx && ctx->eh){
        I2ErrLogVT(ctx->eh,(int)severity,(int)etype,fmt,ap);
    }
    else{
        char		buff[_BWL_ERR_MAXSTRING];

        vsnprintf(buff,sizeof(buff),fmt,ap);
        fwrite(buff,sizeof(char),strlen(buff),stderr);
        fwrite("\n",sizeof(char),1,stderr);
    }
    va_end(ap);

    return;
}