X-Git-Url: http://deadsoftware.ru/gitweb?p=flatwaifu.git;a=blobdiff_plain;f=src%2Fmy.c;h=e4c2d459dd0b728dc02ea691e91942e1cb631990;hp=0a7fcbcd6ce4a20958b2d915e730c2ee9fb89a81;hb=da79be9b6a4134aa9cd19e6f5909fedb20d318cb;hpb=e5c2eddc151a59db4e611a77901732d7c15fde90 diff --git a/src/my.c b/src/my.c index 0a7fcbc..e4c2d45 100644 --- a/src/my.c +++ b/src/my.c @@ -24,6 +24,8 @@ #include "glob.h" #include "error.h" #include +#include +#include void mysplitpath(const char* path, char* drv, char* dir, char* name, char* ext) { @@ -78,18 +80,46 @@ 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); +void myfread8 (uint8_t *x, FILE *f) { + myfread(x, 1, 1, f); +} + +void myfread16 (uint16_t *x, FILE *f) { + myfread(x, 2, 1, f); + *x = short2host(*x); +} + +void myfread32 (uint32_t *x, FILE *f) { + myfread(x, 4, 1, f); + *x = int2host(*x); +} + +void myfwrite (void *ptr, size_t size, size_t n, FILE *f) { + assert(fwrite(ptr, size, n, f) == n); +} + +void myfwrite8 (uint8_t x, FILE *f) { + myfwrite(&x, 1, 1, f); +} + +void myfwrite16 (uint16_t x, FILE *f) { + x = short2host(x); + myfwrite(&x, 2, 1, f); +} + +void myfwrite32 (uint32_t x, FILE *f) { + x = int2host(x); + myfwrite(&x, 4, 1, f); } void myrandomize(void)