📄 ourlib.c
字号:
/********************************************************************/
/** PROGRAM : error message dispose **/
/** FUNCTION : ourlib.c **/
/** COMPILED : cc **/
/** LIBRARY : **/
/** **/
/** AUTHOR : yiwu **/
/** DATE : 2002/07/31 **/
/** LAST MODIFIER: **/
/** MODIFY DATE : **/
/********************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <fcntl.h>
#include <unistd.h>
#include "ourlib.h"
extern int errno;
static void err_doit( int error,char *fmt,va_list ap )
{
int error_save;
char pchBuf[1024];
error_save = errno;
vsprintf( pchBuf,fmt,ap );
if ( error )
sprintf( pchBuf+strlen( pchBuf )," : %s",strerror( error_save ) );
strcat( pchBuf,"\n" );
fputs( pchBuf,stdout );
fflush( NULL );
return ;
}
void err_ret( char *fmt,... )
{
va_list ap;
va_start( ap,fmt );
err_doit( 1,fmt,ap );
va_end( ap );
return;
}
void err_dump( char *fmt,... )
{
va_list ap;
va_start( ap,fmt );
err_doit( 1,fmt,ap );
va_end( ap );
abort();
}
void err_sys( char *fmt,... )
{
va_list ap;
va_start( ap,fmt );
err_doit( 1,fmt,ap );
va_end( ap );
exit( 1 );
}
void err_msg( char *fmt,... )
{
va_list ap;
va_start( ap,fmt );
err_doit( 0,fmt,ap );
va_end( ap );
return;
}
void err_quit( char *fmt,... )
{
va_list ap;
va_start( ap,fmt );
err_doit( 0,fmt,ap );
va_end( ap );
exit( 1 );
}
void vSetRunFlag( char *pchFilename )
{
int fd;
char pchBuf[256],*pchPt;
strcpy( pchBuf,pchFilename );
strcat( pchBuf,".pid" );
if ( ( fd = open( pchBuf,O_RDWR|O_CREAT,0666 ) ) == -1 )
{
err_sys( "set run flag error" );
}
if ( lockf( fd,F_TLOCK,0 ) == -1 )
{
exit( 1 );
}
sprintf( pchBuf,"%d",getpid() );
write( fd,pchBuf,strlen( pchBuf ) );
ftruncate( fd,strlen( pchBuf ) );
}
void vUnsetRunFlag( char *pchFilename )
{
char pchBuf[256];
strcpy( pchBuf,pchFilename );
strcat( pchBuf,".pid" );
unlink( pchBuf );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -