unsigned FindFilePath( bool exe, char *name, char *result ) { struct stat tmp; unsigned len; char *end; if( stat( (char *)name, &tmp ) == 0 ) { end = StrCopy( name, result ); return( end - result ); } if( exe ) { return( TryOnePath( getenv( "PATH" ), &tmp, name, result ) ); } else { len = TryOnePath( getenv( "WD_PATH" ), &tmp, name, result ); if( len != 0 ) return( len ); len = TryOnePath( getenv( "HOME" ), &tmp, name, result ); if( len != 0 ) return( len ); return( TryOnePath( "/usr/watcom/wd", &tmp, name, result ) ); } }
unsigned FindFilePath( int exe, const char *name, char *result ) { struct stat tmp; unsigned len; if( stat( name, &tmp ) == 0 ) { strcpy( result, name ); return( strlen( result ) + 1 ); } if( exe ) { return( TryOnePath( getenv( "PATH" ), &tmp, name, result ) ); } else { len = TryOnePath( getenv( "WD_PATH" ), &tmp, name, result ); if( len != 0 ) return( len ); len = TryOnePath( getenv( "HOME" ), &tmp, name, result ); if( len != 0 ) return( len ); return( TryOnePath( "/usr/watcom/wd", &tmp, name, result ) ); } return( 0 ); }