* accepted if you are using GCC for compilation (and probably by
* other compilers too).
*
- * Author: David Turner, 2005, 2006
+ * Author: David Turner, 2005, 2006, 2008, 2009, 2010
*
* This code is explicitly placed into the public domain.
*
#define LINEBUFF_SIZE 1024
-typedef enum
+typedef enum OutputFormat_
{
OUTPUT_LIST = 0, /* output the list of names, one per line */
OUTPUT_WINDOWS_DEF, /* output a Windows .DEF file for Visual C++ or Mingw */
}
-typedef struct
+typedef struct NameRec_
{
char* name;
unsigned int hash;
{
int nn;
+
switch ( format )
{
case OUTPUT_WINDOWS_DEF:
case OUTPUT_WATCOM_LBC:
{
/* we must omit the .dll suffix from the library name */
- char temp[512];
- char* dot;
+ char temp[512];
+ const char* dot;
+
if ( dll_name == NULL )
{
fprintf( stderr,
- "you must provide a DLL name with the -d option !!\n" );
- exit(4);
+ "you must provide a DLL name with the -d option!\n" );
+ exit( 4 );
}
dot = strchr( dll_name, '.' );
if ( dot != NULL )
{
- int len = (dot - dll_name);
- if ( len > (int)(sizeof(temp)-1) )
- len = sizeof(temp)-1;
+ int len = dot - dll_name;
+
+
+ if ( len > (int)( sizeof( temp ) - 1 ) )
+ len = sizeof ( temp ) - 1;
memcpy( temp, dll_name, len );
temp[len] = 0;
/* states of the line parser */
-typedef enum
+typedef enum State_
{
STATE_START = 0, /* waiting for FT_EXPORT keyword and return type */
STATE_TYPE /* type was read, waiting for function name */
if ( p > name )
{
if ( verbose )
- fprintf( stderr, ">>> %.*s\n", p-name, name );
+ fprintf( stderr, ">>> %.*s\n", (int)(p - name), name );
names_add( name, p );
}