⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lsyslog.c

📁 Linux下ztelnet 的rz、sz源码
💻 C
字号:
/*  lsyslog.c - wrapper for the syslog function  Copyright (C) 1997 Uwe Ohse  This program 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 2, or (at your option)  any later version.  This program 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 this program; if not, write to the Free Software  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.*/#include "config.h"#ifdef ENABLE_SYSLOG#include "zglobal.h"#include <pwd.h>#include <stdlib.h>#include <string.h>#endif#if __STDC__#  include <stdarg.h>#  define VA_START(args, lastarg) va_start(args, lastarg)#  define WAYTOGO#else#  include <varargs.h>#  define VA_START(args, lastarg) va_start(args)#endifvoid#ifdef WAYTOGOlsyslog(int prio, const char *format, ...)#elselsyslog(prio,format,va_alist) 	int prio; 	const char *format; 	va_dcl#endif{#ifdef ENABLE_SYSLOG	static char *username=NULL;	static char uid_string[20]=""; /* i'd really hate this function to fail! */	char *s=NULL;	static int init_done=0;    va_list ap;	if (!enable_syslog)		return;	if (!init_done) {		uid_t uid;		struct passwd *pwd;		init_done=1;		uid=getuid();		pwd=getpwuid(uid);		if (pwd && pwd->pw_name && *pwd->pw_name) {			username=strdup(pwd->pw_name);		}		if (!username) {			username=uid_string;			sprintf(uid_string,"#%lu",(unsigned long) uid);		}	}    VA_START(ap, format);    vasprintf(&s,format, ap);    va_end(ap);    syslog(prio,"[%s] %s",username,s);	free(s);#else	(void) prio; /* get rid of warning */	(void) format; /* get rid of warning */#endif}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -