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 );