projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rnd-20090731-1-src
[rocksndiamonds.git]
/
src
/
game_sp
/
vb_lib.c
diff --git
a/src/game_sp/vb_lib.c
b/src/game_sp/vb_lib.c
index c4df2cf3d853ce0493659bcec7a4623251287b6b..fa1ef2c64cf312c0dc2d4ccc2687b8247f6dc441 100644
(file)
--- a/
src/game_sp/vb_lib.c
+++ b/
src/game_sp/vb_lib.c
@@
-9,6
+9,8
@@
#include "main_sp.h"
#include "main_sp.h"
+#include <sys/stat.h>
+
/* helper functions for constructs not supported by C */
void *REDIM_1D(int a, int b, int c)
/* helper functions for constructs not supported by C */
void *REDIM_1D(int a, int b, int c)
@@
-55,16
+57,25
@@
char *INT_TO_STR(int a)
boolean STRING_IS_LIKE(char *a, char *b)
{
boolean STRING_IS_LIKE(char *a, char *b)
{
- return 0;
+ if (*b == '*') // something like "*.sp"
+ {
+ return (strSuffix(a, &b[1]));
+ }
+ else
+ {
+ // more sophisticated patterns currently not supported
+
+ return 0;
+ }
}
}
-void FILE_GET(FILE *
a, int b, void *c, int d
)
+void FILE_GET(FILE *
file, int offset, void *buffer, int num_bytes
)
{
{
- fseek(
a, b
, SEEK_SET);
+ fseek(
file, offset - 1
, SEEK_SET);
- while (
d
--)
- *(byte *)
c++ = fgetc(a
);
+ while (
num_bytes
--)
+ *(byte *)
buffer++ = fgetc(file
);
}
int FILE_PUT(FILE *a, int b, void *c, int d)
}
int FILE_PUT(FILE *a, int b, void *c, int d)
@@
-154,7
+165,16
@@
char *Hex(int a)
int FileLen(char *a)
{
int FileLen(char *a)
{
- return 0;
+ struct stat buffer;
+
+ if (stat(a, &buffer) == 0)
+ {
+ return buffer.st_size;
+ }
+ else
+ {
+ return 0;
+ }
}
long GetTickCount()
}
long GetTickCount()