Allows file.so to te built on non-windows. Dirty way.
This commit is contained in:
parent
59a8f5c6b9
commit
14ffb4c73b
16
dlls/src/file/build.sh
Executable file
16
dlls/src/file/build.sh
Executable file
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
NAME="file"
|
||||
CCOPTS="-I. -I/usr/local/include -I../include"
|
||||
|
||||
FILES="file"
|
||||
|
||||
OBJECTS=""
|
||||
|
||||
for FILE in $FILES; do
|
||||
gcc -c $FILE.c $CCOPTS -o $FILE.o
|
||||
OBJECTS+="$FILE.o "
|
||||
done
|
||||
|
||||
gcc $OBJECTS -shared -o ../../bin/${NAME}.so -L/usr/local/lib -lSDL
|
||||
|
||||
rm $OBJECTS
|
|
@ -2,9 +2,29 @@
|
|||
#include <stdio.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <export.h>
|
||||
#include "export.h"
|
||||
#include "file.h"
|
||||
|
||||
FILE *fichero[0xFF] ;
|
||||
int existe[0xFF] ;
|
||||
|
||||
static void _cierratodo()
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (; i < 0xFF ; i++ )
|
||||
if ( existe[i] == 0 )
|
||||
fclose(fichero[i]);
|
||||
}
|
||||
|
||||
static void _limpiatodo()
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
for (; i < 0xFF ; i++ )
|
||||
if ( existe[i] == 0 )
|
||||
fflush(fichero[i]);
|
||||
}
|
||||
|
||||
int ExportaFuncs(EXPORTAFUNCS_PARAMS)
|
||||
{
|
||||
|
@ -30,9 +50,6 @@ int ExportaFuncs(EXPORTAFUNCS_PARAMS)
|
|||
|
||||
}
|
||||
|
||||
FILE *fichero[0xFF] ;
|
||||
int existe[0xFF] ;
|
||||
|
||||
/*
|
||||
* POR HACER:
|
||||
* Los handles deben ser IMPARES
|
||||
|
@ -148,19 +165,18 @@ int eDiv_Fseek(FUNCTION_PARAMS)
|
|||
|
||||
int eDiv_Flush(FUNCTION_PARAMS)
|
||||
{
|
||||
return flushall() ; /* flushall()-numfiles */
|
||||
_limpiatodo();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int eDiv_Fclose(FUNCTION_PARAMS)
|
||||
{
|
||||
int handle=getparm(), num ;
|
||||
|
||||
if ( handle == 0 )
|
||||
if ( ( num = fcloseall() ) == EOF )
|
||||
return 0 ;
|
||||
else
|
||||
return num ;
|
||||
else
|
||||
if ( handle == 0 ) {
|
||||
_cierratodo();
|
||||
return 0;
|
||||
} else
|
||||
if ( !existe[handle] ) {
|
||||
fp->Runtime_Error(170);
|
||||
return 0 ;
|
||||
|
|
Loading…
Reference in a new issue