Annotation of embedaddon/igmpproxy/src/syslog.c, revision 1.1

1.1     ! misho       1: /*
        !             2: **  igmpproxy - IGMP proxy based multicast router 
        !             3: **  Copyright (C) 2005 Johnny Egeland <johnny@rlo.org>
        !             4: **
        !             5: **  This program is free software; you can redistribute it and/or modify
        !             6: **  it under the terms of the GNU General Public License as published by
        !             7: **  the Free Software Foundation; either version 2 of the License, or
        !             8: **  (at your option) any later version.
        !             9: **
        !            10: **  This program is distributed in the hope that it will be useful,
        !            11: **  but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            12: **  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            13: **  GNU General Public License for more details.
        !            14: **
        !            15: **  You should have received a copy of the GNU General Public License
        !            16: **  along with this program; if not, write to the Free Software
        !            17: **  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        !            18: **
        !            19: **----------------------------------------------------------------------------
        !            20: **
        !            21: **  This software is derived work from the following software. The original
        !            22: **  source code has been modified from it's original state by the author
        !            23: **  of igmpproxy.
        !            24: **
        !            25: **  smcroute 0.92 - Copyright (C) 2001 Carsten Schill <carsten@cschill.de>
        !            26: **  - Licensed under the GNU General Public License, version 2
        !            27: **  
        !            28: **  mrouted 3.9-beta3 - COPYRIGHT 1989 by The Board of Trustees of 
        !            29: **  Leland Stanford Junior University.
        !            30: **  - Original license can be found in the Stanford.txt file.
        !            31: **
        !            32: */
        !            33: 
        !            34: #include "igmpproxy.h"
        !            35: 
        !            36: int LogLevel = LOG_WARNING;
        !            37: bool Log2Stderr = false;
        !            38: 
        !            39: void my_log( int Severity, int Errno, const char *FmtSt, ... )
        !            40: {
        !            41:     char LogMsg[ 128 ];
        !            42: 
        !            43:     va_list ArgPt;
        !            44:     unsigned Ln;
        !            45:     va_start( ArgPt, FmtSt );
        !            46:     Ln = vsnprintf( LogMsg, sizeof( LogMsg ), FmtSt, ArgPt );
        !            47:     if( Errno > 0 )
        !            48:         snprintf( LogMsg + Ln, sizeof( LogMsg ) - Ln,
        !            49:                 "; Errno(%d): %s", Errno, strerror(Errno) );
        !            50:     va_end( ArgPt );
        !            51: 
        !            52:     if (Severity <= LogLevel) {
        !            53:         if (Log2Stderr)
        !            54:             fprintf(stderr, "%s\n", LogMsg);
        !            55:         else {
        !            56:             syslog(Severity, "%s", LogMsg);
        !            57:        }
        !            58:     }
        !            59: 
        !            60:     if( Severity <= LOG_ERR )
        !            61:         exit( -1 );
        !            62: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>