1
///////////////////////////////////////////////////////////////////////////////
3
// common defines and typedefs, part of wmail
5
// Copyright 2000~2002, Sven Geisenhainer <sveng@informatik.uni-jena.de>.
6
// All rights reserved.
8
// Redistribution and use in source and binary forms, with or without
9
// modification, are permitted provided that the following conditions
11
// 1. Redistributions of source code must retain the above copyright
12
// notice, this list of conditions, and the following disclaimer.
13
// 2. Redistributions in binary form must reproduce the above copyright
14
// notice, this list of conditions, and the following disclaimer in the
15
// documentation and/or other materials provided with the distribution.
16
// 3. The name of the author may not be used to endorse or promote products
17
// derived from this software without specific prior written permission.
19
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
20
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
21
// OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
22
// IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
23
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
24
// NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
28
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
#if defined(DEBUG) || defined(DEBUG2) || defined(_DEBUG)
39
void TRACE( const char *fmt, ... )
42
va_start( args, fmt );
43
vfprintf( stderr, fmt, args );
49
void ABORT( const char *fmt, ... )
52
va_start( args, fmt );
53
fprintf( stderr, "wmail error: " );
54
vfprintf( stderr, fmt, args );
61
void WARNING( const char *fmt, ... )
64
va_start( args, fmt );
65
fprintf( stderr, "wmail warning: " );
66
vfprintf( stderr, fmt, args );
71
char *MakePathName( const char *dir, const char *file )
74
int len1 = strlen( dir );
75
int len2 = strlen( file );
77
if( dir[len1-1] != '/' )
78
fullName = malloc( len1 + len2 + 2 );
80
fullName = malloc( len1 + len2 + 1 );
82
memcpy( fullName, dir, len1 );
83
if( dir[len1-1] != '/' )
84
fullName[len1++] = '/';
85
memcpy( fullName + len1, file, len2 + 1 );