X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fmy.c;h=28dba3d4a81fd4ca902245dd086261a8c7b74512;hb=14813cefff1cc036bf217346188c168429b52e81;hp=0a7fcbcd6ce4a20958b2d915e730c2ee9fb89a81;hpb=e5c2eddc151a59db4e611a77901732d7c15fde90;p=flatwaifu.git diff --git a/src/my.c b/src/my.c index 0a7fcbc..28dba3d 100644 --- a/src/my.c +++ b/src/my.c @@ -20,13 +20,14 @@ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include #include "glob.h" #include "error.h" +#include "misc.h" #include +#include +#include -void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) -{ +void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) { const char* end; /* end of processed string */ const char* p; /* search pointer */ const char* s; /* copy pointer */ @@ -78,27 +79,53 @@ void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) } } -size_t myfreadc(void *ptr, size_t size, size_t n, FILE *f) { +size_t myfreadc (void *ptr, size_t size, size_t n, FILE *f) { return fread(ptr, size, n, f); } -void myfread(void *ptr, size_t size, size_t n, FILE *f) { +void myfread (void *ptr, size_t size, size_t n, FILE *f) { if (myfreadc(ptr, size, n, f) != n) { ERR_fatal("File reading error\n"); } } -void myfwrite(void *ptr, size_t n, size_t size, FILE *f) { - size_t s = fwrite(ptr,n,size,f); +int8_t myfread8 (FILE *f) { + int8_t x; + myfread(&x, 1, 1, f); + return x; } -void myrandomize(void) -{ - srand(SDL_GetTicks()); +int16_t myfread16 (FILE *f) { + int16_t x; + myfread(&x, 2, 1, f); + return short2host(x); } -int fexists(char * filename) -{ +int32_t myfread32 (FILE *f) { + int32_t x; + myfread(&x, 4, 1, f); + return int2host(x); +} + +void myfwrite (void *ptr, size_t size, size_t n, FILE *f) { + assert(fwrite(ptr, size, n, f) == n); +} + +void myfwrite8 (int8_t x, FILE *f) { + myfwrite(&x, 1, 1, f); +} + +void myfwrite16 (int16_t x, FILE *f) { + x = short2host(x); + myfwrite(&x, 2, 1, f); +} + +void myfwrite32 (int32_t x, FILE *f) { + x = int2host(x); + myfwrite(&x, 4, 1, f); +} + +int fexists (char *filename) { FILE *f; if ((f = fopen(filename, "r"))) { @@ -106,4 +133,4 @@ int fexists(char * filename) return 1; } return 0; -} \ No newline at end of file +}