forked from a1batross/Paranoia2_original
master #1
|
@ -30,4 +30,4 @@ int main( int argc, char **argv )
|
|||
}
|
||||
|
||||
return BspConvert( argc, argv );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ GNU General Public License for more details.
|
|||
#ifndef BSP31MIGRATE_H
|
||||
#define BSP31MIGRATE_H
|
||||
|
||||
#include <windows.h>
|
||||
#include "port.h"
|
||||
#include "cmdlib.h"
|
||||
#include "mathlib.h"
|
||||
#include "stringlib.h"
|
||||
|
@ -26,7 +26,6 @@ GNU General Public License for more details.
|
|||
#include "wadfile.h"
|
||||
#include "bspfile31.h"
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
|
||||
typedef enum
|
||||
{
|
||||
|
@ -46,4 +45,4 @@ typedef enum
|
|||
|
||||
extern int BspConvert( int argc, char **argv );
|
||||
|
||||
#endif//BSP31MIGRATE_H
|
||||
#endif//BSP31MIGRATE_H
|
||||
|
|
|
@ -1185,7 +1185,10 @@ int BspConvert( int argc, char **argv )
|
|||
|
||||
|
||||
if( !COM_GetParmExt( "-file", source, sizeof( source )))
|
||||
{
|
||||
printf("%s\n", source);
|
||||
|
||||
Q_strncpy( source, "*.bsp", sizeof( source ));
|
||||
}
|
||||
|
||||
search_t *search = COM_Search( source, true );
|
||||
|
||||
|
@ -1206,7 +1209,6 @@ int BspConvert( int argc, char **argv )
|
|||
Mem_Check();
|
||||
|
||||
Msg( "press any key to exit\n" );
|
||||
system( "pause>nul" );
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
#!/bin/sh
|
||||
a1batross
commented
Use waf. Use waf.
nillerusr
commented
why use waf for utilities? why use waf for utilities?
a1batross
commented
Because we decided to not use everything else than waf as it increases efforts on maintaining. Well, mdldec in engine repo uses Makefile. Probably for utilities it can be fine but it also have copypasted code, like checking if we are compiling for Windows, the same compiler rules and so on. Because we decided to not use everything else than waf as it increases efforts on maintaining.
Well, mdldec in engine repo uses Makefile. Probably for utilities it can be fine but it also have copypasted code, like checking if we are compiling for Windows, the same compiler rules and so on.
|
||||
gcc -I ../common/ -I../../common/ -I../../public bsp31migrate.cpp bspfile.cpp ../common/stringlib.cpp ../common/conprint.cpp ../common/cmdlib.cpp ../common/filesystem.cpp ../common/zone.cpp ../common/scriplib.cpp ../common/wadfile.cpp ../common/mathlib.cpp -ggdb -lm -o bsp31migrate
|
|
@ -34,12 +34,15 @@ typedef unsigned long ulong;
|
|||
|
||||
typedef unsigned char uint8;
|
||||
typedef signed char int8;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
typedef __int16 int16;
|
||||
typedef unsigned __int16 uint16;
|
||||
typedef __int32 int32;
|
||||
typedef unsigned __int32 uint32;
|
||||
typedef __int64 int64;
|
||||
typedef unsigned __int64 uint64;
|
||||
#endif
|
||||
|
||||
#undef true
|
||||
#undef false
|
||||
|
@ -77,4 +80,4 @@ enum
|
|||
#define DXT_ENCODE_ALPHA_SDF 0x1A04 // signed distance field
|
||||
#define DXT_ENCODE_NORMAL_AG_PARABOLOID 0x1A07 // paraboloid projection
|
||||
|
||||
#endif//BASETYPES_H
|
||||
#endif//BASETYPES_H
|
||||
|
|
|
@ -76,7 +76,7 @@ BRUSH MODELS
|
|||
.bsp contain level static geometry with including PVS and lightning info
|
||||
==============================================================================
|
||||
*/
|
||||
#include "..\..\common\bspfile.h"
|
||||
#include "../../common/bspfile.h"
|
||||
|
||||
// header
|
||||
#define Q1BSP_VERSION 29 // quake1 regular version (beta is 28)
|
||||
|
|
|
@ -21,13 +21,19 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
*/
|
||||
|
||||
// cmdlib.c
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#include <direct.h>
|
||||
#include <io.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
#include "stringlib.h"
|
||||
#include "cmdlib.h"
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
static char **com_argv;
|
||||
static int com_argc = 0;
|
||||
|
@ -118,7 +124,7 @@ void COM_FatalError( const char *error, ... )
|
|||
va_list argptr;
|
||||
|
||||
va_start( argptr, error );
|
||||
_vsnprintf( message, sizeof( message ), error, argptr );
|
||||
snprintf( message, sizeof( message ), error, argptr );
|
||||
va_end( argptr );
|
||||
|
||||
Msg( "^1Fatal Error:^7 %s", message );
|
||||
|
@ -138,7 +144,7 @@ void COM_Assert( const char *error, ... )
|
|||
va_list argptr;
|
||||
|
||||
va_start( argptr, error );
|
||||
_vsnprintf( message, sizeof( message ), error, argptr );
|
||||
snprintf( message, sizeof( message ), error, argptr );
|
||||
va_end( argptr );
|
||||
|
||||
Msg( "^1assert failed at:^7 %s", message );
|
||||
|
@ -147,7 +153,7 @@ void COM_Assert( const char *error, ... )
|
|||
|
||||
void Q_getwd( char *out, size_t size )
|
||||
{
|
||||
_getcwd( out, size );
|
||||
getcwd( out, size );
|
||||
Q_strncat( out, "\\", size );
|
||||
}
|
||||
|
||||
|
@ -209,19 +215,40 @@ I_FloatTime
|
|||
g-cont. the prefix 'I' was come from Doom code heh
|
||||
================
|
||||
*/
|
||||
double I_FloatTime( void )
|
||||
{
|
||||
static LARGE_INTEGER g_Frequency;
|
||||
static LARGE_INTEGER g_ClockStart;
|
||||
LARGE_INTEGER CurrentTime;
|
||||
|
||||
if( !g_Frequency.QuadPart )
|
||||
#ifdef _WIN32
|
||||
#include <winbase.h>
|
||||
|
||||
double GAME_EXPORT I_FloatTime( void )
|
||||
{
|
||||
static LARGE_INTEGER g_PerformanceFrequency;
|
||||
static LARGE_INTEGER g_ClockStart;
|
||||
LARGE_INTEGER CurrentTime;
|
||||
|
||||
if( !g_PerformanceFrequency.QuadPart )
|
||||
{
|
||||
QueryPerformanceFrequency( &g_Frequency );
|
||||
QueryPerformanceFrequency( &g_PerformanceFrequency );
|
||||
QueryPerformanceCounter( &g_ClockStart );
|
||||
}
|
||||
|
||||
QueryPerformanceCounter( &CurrentTime );
|
||||
return (double)( CurrentTime.QuadPart - g_ClockStart.QuadPart ) / (double)( g_PerformanceFrequency.QuadPart );
|
||||
}
|
||||
#elif _LINUX
|
||||
double GAME_EXPORT I_FloatTime( void )
|
||||
{
|
||||
static longtime_t g_PerformanceFrequency;
|
||||
static longtime_t g_ClockStart;
|
||||
longtime_t CurrentTime;
|
||||
struct timespec ts;
|
||||
|
||||
return (double)( CurrentTime.QuadPart - g_ClockStart.QuadPart ) / (double)( g_Frequency.QuadPart );
|
||||
}
|
||||
if( !g_PerformanceFrequency )
|
||||
{
|
||||
struct timespec res;
|
||||
if( !clock_getres(CLOCK_MONOTONIC, &res) )
|
||||
g_PerformanceFrequency = 1000000000LL/res.tv_nsec;
|
||||
}
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts);
|
||||
return (double) ts.tv_sec + (double) ts.tv_nsec/1000000000.0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -18,8 +18,10 @@ GNU General Public License for more details.
|
|||
#ifndef CMDLIB_H
|
||||
#define CMDLIB_H
|
||||
|
||||
#include "port.h"
|
||||
#include <basetypes.h>
|
||||
#include "conprint.h"
|
||||
#include "mathlib.h"
|
||||
|
||||
// bit routines
|
||||
#define BIT( n ) (1<<( n ))
|
||||
|
@ -108,4 +110,4 @@ void CRC32_Final( dword *pulCRC );
|
|||
void CRC32_ProcessByte( dword *pulCRC, byte ch );
|
||||
void CRC32_ProcessBuffer( dword *pulCRC, const void *pBuffer, int nBuffer );
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -14,15 +14,18 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|||
GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <basetypes.h>
|
||||
#include "stringlib.h"
|
||||
#include "conprint.h"
|
||||
#include "stdarg.h"
|
||||
|
||||
#define IsColorString( p ) ( p && *( p ) == '^' && *(( p ) + 1) && *(( p ) + 1) >= '0' && *(( p ) + 1 ) <= '9' )
|
||||
#define ColorIndex( c ) ((( c ) - '0' ) & 7 )
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
|
||||
static unsigned short g_color_table[8] =
|
||||
{
|
||||
FOREGROUND_INTENSITY, // black
|
||||
|
@ -34,6 +37,7 @@ FOREGROUND_GREEN|FOREGROUND_BLUE|FOREGROUND_INTENSITY, // cyan
|
|||
FOREGROUND_RED|FOREGROUND_BLUE|FOREGROUND_INTENSITY, // magenta
|
||||
FOREGROUND_RED|FOREGROUND_GREEN|FOREGROUND_BLUE, // default color (white)
|
||||
};
|
||||
#endif
|
||||
|
||||
static int devloper_level = DEFAULT_DEVELOPER;
|
||||
static bool ignore_log = false;
|
||||
|
@ -101,6 +105,7 @@ print into win32 console
|
|||
*/
|
||||
void Sys_Print( const char *pMsg )
|
||||
{
|
||||
#ifdef _WIN32
|
||||
char tmpBuf[8192];
|
||||
HANDLE hOut = GetStdHandle( STD_OUTPUT_HANDLE );
|
||||
unsigned long cbWritten;
|
||||
|
@ -146,6 +151,9 @@ void Sys_Print( const char *pMsg )
|
|||
Sys_PrintLog( tmpBuf );
|
||||
pTemp = tmpBuf;
|
||||
}
|
||||
#else
|
||||
printf("%s", pMsg);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -203,6 +211,7 @@ void MsgDev( int level, const char *pMsg, ... )
|
|||
|
||||
void MsgAnim( int level, const char *pMsg, ... )
|
||||
{
|
||||
#ifdef _WIN32
|
||||
va_list argptr;
|
||||
char text[1024];
|
||||
char empty[1024];
|
||||
|
@ -228,4 +237,5 @@ void MsgAnim( int level, const char *pMsg, ... )
|
|||
Sleep( 150 );
|
||||
}
|
||||
Msg( "^7\n" );
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -13,11 +13,19 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|||
GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#include <direct.h>
|
||||
#include <io.h>
|
||||
#else
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#define O_BINARY 0
|
||||
#endif
|
||||
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <io.h>
|
||||
#include "conprint.h"
|
||||
#include "cmdlib.h"
|
||||
#include "stringlib.h"
|
||||
|
@ -147,16 +155,21 @@ void stringlistsort( stringlist_t *list )
|
|||
}
|
||||
}
|
||||
|
||||
void listdirectory( stringlist_t *list, const char *path, bool tolower )
|
||||
void listdirectory( stringlist_s *list, const char *path, bool lowercase )
|
||||
{
|
||||
char pattern[4096];
|
||||
struct _finddata_t n_file;
|
||||
long hFile;
|
||||
char *c;
|
||||
int i;
|
||||
signed char *c;
|
||||
#ifdef _WIN32
|
||||
char pattern[4096];
|
||||
struct _finddata_t n_file;
|
||||
int hFile;
|
||||
#else
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
#endif
|
||||
|
||||
Q_strncpy( pattern, path, sizeof( pattern ));
|
||||
Q_strncat( pattern, "*", sizeof( pattern ));
|
||||
#ifdef _WIN32
|
||||
Q_snprintf( pattern, sizeof( pattern ), "%s*", path );
|
||||
|
||||
// ask for the directory listing handle
|
||||
hFile = _findfirst( pattern, &n_file );
|
||||
|
@ -164,22 +177,33 @@ void listdirectory( stringlist_t *list, const char *path, bool tolower )
|
|||
|
||||
// start a new chain with the the first name
|
||||
stringlistappend( list, n_file.name );
|
||||
|
||||
// iterate through the directory
|
||||
while( _findnext( hFile, &n_file ) == 0 )
|
||||
stringlistappend( list, n_file.name );
|
||||
_findclose( hFile );
|
||||
#else
|
||||
if( !( dir = opendir( path ) ) )
|
||||
return;
|
||||
|
||||
if( !tolower ) return;
|
||||
// iterate through the directory
|
||||
while( ( entry = readdir( dir ) ))
|
||||
stringlistappend( list, entry->d_name );
|
||||
closedir( dir );
|
||||
#endif
|
||||
|
||||
// convert names to lowercase because windows doesn't care, but pattern matching code often does
|
||||
for( i = 0; i < list->numstrings; i++ )
|
||||
if( lowercase )
|
||||
{
|
||||
for( c = list->strings[i]; *c; c++ )
|
||||
*c = Q_tolower( *c );
|
||||
for( i = 0; i < list->numstrings; i++ )
|
||||
{
|
||||
for( c = (signed char *)list->strings[i]; *c; c++ )
|
||||
{
|
||||
if( *c >= 'A' && *c <= 'Z' )
|
||||
*c += 'a' - 'A';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
=============================================================================
|
||||
|
||||
|
@ -212,20 +236,21 @@ search_t *COM_Search( const char *pattern, int caseinsensitive, wfile_t *source_
|
|||
return NULL;
|
||||
}
|
||||
|
||||
if( !GetCurrentDirectory( sizeof( root ), root ))
|
||||
if( !getcwd(root, sizeof( root ) ) )
|
||||
nillerusr marked this conversation as resolved
a1batross
commented
You already have Q_getwd. Why not to use it? You already have Q_getwd. Why not to use it?
nillerusr
commented
There is no Q_getcwd There is no Q_getcwd
|
||||
{
|
||||
MsgDev( D_ERROR, "couldn't determine current directory\n" );
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Q_strncat( root, "\\", sizeof( root ));
|
||||
Q_strncat( root, "/", sizeof( root ));
|
||||
stringlistinit( &resultlist );
|
||||
stringlistinit( &dirlist );
|
||||
|
||||
slash = Q_strrchr( pattern, '/' );
|
||||
backslash = Q_strrchr( pattern, '\\' );
|
||||
colon = Q_strrchr( pattern, ':' );
|
||||
separator = max( slash, backslash );
|
||||
separator = max( separator, colon );
|
||||
separator = Q_max( slash, backslash );
|
||||
separator = Q_max( separator, colon );
|
||||
basepathlength = separator ? (separator + 1 - pattern) : 0;
|
||||
basepath = (char *)Mem_Alloc( basepathlength + 1 );
|
||||
if( basepathlength ) memcpy( basepath, pattern, basepathlength );
|
||||
|
@ -357,7 +382,11 @@ void COM_CreatePath( char *path )
|
|||
// create the directory
|
||||
save = *ofs;
|
||||
*ofs = 0;
|
||||
_mkdir( path );
|
||||
#ifdef _WIN32
|
||||
mkdir( path );
|
||||
#else
|
||||
mkdir( path, 0777);
|
||||
#endif
|
||||
*ofs = save;
|
||||
}
|
||||
}
|
||||
|
@ -555,9 +584,28 @@ COM_FolderExists
|
|||
*/
|
||||
bool COM_FolderExists( const char *path )
|
||||
{
|
||||
DWORD dwFlags = GetFileAttributes( path );
|
||||
#if XASH_WIN32
|
||||
DWORD dwFlags = GetFileAttributes( path );
|
||||
|
||||
return ( dwFlags != -1 ) && FBitSet( dwFlags, FILE_ATTRIBUTE_DIRECTORY );
|
||||
return ( dwFlags != -1 ) && ( dwFlags & FILE_ATTRIBUTE_DIRECTORY );
|
||||
#else
|
||||
DIR *dir = opendir( path );
|
||||
|
||||
if( dir )
|
||||
{
|
||||
closedir( dir );
|
||||
return true;
|
||||
}
|
||||
else if( (errno == ENOENT) || (errno == ENOTDIR) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
MsgDev( D_ERROR, "FS_SysFolderExists: problem while opening dir: %s\n", strerror( errno ) );
|
||||
return false;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -618,4 +666,4 @@ void SafeWriteExt( long handle, void *buffer, int count, const char *file, const
|
|||
|
||||
if( write_count != (size_t)count )
|
||||
COM_FatalError( "file write failure ( %i != %i ) at %s:%i\n", write_count, count, file, line );
|
||||
}
|
||||
}
|
||||
|
|
|
@ -78,7 +78,7 @@ typedef struct vfile_s
|
|||
|
||||
extern const wadtype_t wad_hints[];
|
||||
|
||||
search_t *COM_Search( const char *pattern, int caseinsensitive, wfile_t *source_wad = NULL );
|
||||
search_t *COM_Search( const char *pattern, int caseinsensitive, wfile_s *source_wad = NULL );
|
||||
search_t *FS_Search( const char *pattern, int caseinsensitive, int gamedironly );
|
||||
byte *COM_LoadFile( const char *filepath, size_t *filesize, bool safe = true );
|
||||
bool COM_SaveFile( const char *filepath, void *buffer, size_t filesize, bool safe = true );
|
||||
|
@ -143,4 +143,4 @@ void listdirectory( stringlist_t *list, const char *path, bool tolower = false )
|
|||
void SetReplaceLevel( int level );
|
||||
int GetReplaceLevel( void );
|
||||
|
||||
#endif//FILESYSTEM_H
|
||||
#endif//FILESYSTEM_H
|
||||
|
|
|
@ -193,6 +193,7 @@ SinCos
|
|||
*/
|
||||
void SinCos( float radians, float *sine, float *cosine )
|
||||
{
|
||||
#ifdef _MSC_VER
|
||||
a1batross
commented
_MSC_VER and x86. _MSC_VER and x86.
|
||||
_asm
|
||||
{
|
||||
fld dword ptr [radians]
|
||||
|
@ -204,6 +205,10 @@ void SinCos( float radians, float *sine, float *cosine )
|
|||
fstp dword ptr [edx]
|
||||
fstp dword ptr [eax]
|
||||
}
|
||||
#else
|
||||
*sine = sin(radians);
|
||||
*cosine = cos(radians);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -405,7 +410,8 @@ fast box on planeside test
|
|||
*/
|
||||
int SignbitsForPlane( const vec3_t normal )
|
||||
{
|
||||
for( int bits = 0, i = 0; i < 3; i++ )
|
||||
int bits, i;
|
||||
for( bits = 0, i = 0; i < 3; i++ )
|
||||
if( normal[i] < 0.0f )
|
||||
bits |= 1<<i;
|
||||
return bits;
|
||||
|
@ -1220,4 +1226,4 @@ bool Matrix4x4_Invert_Full( matrix4x4 out, const matrix4x4 in1 )
|
|||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -28,7 +28,6 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|||
#include "stringlib.h"
|
||||
#include "filesystem.h"
|
||||
#include <stdarg.h>
|
||||
#include <windows.h>
|
||||
|
||||
/*
|
||||
=============================================================================
|
||||
|
@ -558,4 +557,4 @@ void TokenError( const char *fmt, ... )
|
|||
vsprintf( output, fmt, args );
|
||||
COM_FatalError( "%s", output );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,11 +3,12 @@
|
|||
// stringlib.cpp - safety string routines
|
||||
//=======================================================================
|
||||
|
||||
#include <windows.h>
|
||||
#include "port.h"
|
||||
#include <ctype.h>
|
||||
#include "stringlib.h"
|
||||
#include <direct.h>
|
||||
#include "cmdlib.h"
|
||||
#include "mathlib.h"
|
||||
#include "stdarg.h"
|
||||
|
||||
void Q_strnupr( const char *in, char *out, size_t size_out )
|
||||
{
|
||||
|
@ -287,17 +288,21 @@ int Q_vsnprintf( char *buffer, size_t buffersize, const char *format, va_list ar
|
|||
{
|
||||
size_t result;
|
||||
|
||||
#ifdef _MSC_VER
|
||||
__try
|
||||
#endif
|
||||
{
|
||||
result = _vsnprintf( buffer, buffersize, format, args );
|
||||
result = vsnprintf( buffer, buffersize, format, args );
|
||||
}
|
||||
|
||||
// to prevent crash while output
|
||||
#ifdef _MSC_VER
|
||||
__except( EXCEPTION_EXECUTE_HANDLER )
|
||||
{
|
||||
Q_strncpy( buffer, "^1sprintf throw exception^7\n", buffersize );
|
||||
result = buffersize;
|
||||
}
|
||||
#endif
|
||||
|
||||
if( result < 0 || result >= buffersize )
|
||||
{
|
||||
|
@ -534,4 +539,4 @@ skipwhite:
|
|||
token[len] = 0;
|
||||
|
||||
return data;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,11 +14,8 @@ GNU General Public License for more details.
|
|||
*/
|
||||
|
||||
#include "conprint.h"
|
||||
#include <windows.h>
|
||||
#include <direct.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <io.h>
|
||||
#include "cmdlib.h"
|
||||
#include "stringlib.h"
|
||||
#include "filesystem.h"
|
||||
|
@ -930,4 +927,4 @@ void W_SearchForFile( wfile_t *wad, const char *pattern, stringlist_t *resultlis
|
|||
*((char *)separator) = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|||
GNU General Public License for more details.
|
||||
*/
|
||||
|
||||
#include <windows.h>
|
||||
//#include <windows.h>
|
||||
#include "cmdlib.h"
|
||||
#include "threads.h"
|
||||
#include "stringlib.h"
|
||||
|
@ -62,7 +62,7 @@ static void *attempt_calloc( size_t size )
|
|||
if(( base = (void *)calloc( size, 1 )) != NULL )
|
||||
return base;
|
||||
// try for half a second or so
|
||||
Sleep( 100 );
|
||||
usleep( 100000 );
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
@ -173,4 +173,4 @@ size_t Mem_Size( void *ptr )
|
|||
chunk = (memhdr_t *)((byte *)ptr - sizeof( memhdr_t ));
|
||||
|
||||
return chunk->size;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Please remove unnecessary logging.