halfs-0.2: binutils.c
#include <string.h>
#include <stdio.h>
#include <unistd.h>
#include <HsFFI.h>
#include "binutils.h"
void binmemmove(void *dest,int dest_off,void *src,int src_off,size_t size) {
// printf("memmove: %d + %d <= %d + %d (%d)\n",dest,dest_off,src,src_off,size);
memmove(dest + dest_off,src + src_off,size);
// printf("memmove [done]\n");
}
size_t binwrite(int dest_fd,void *src,int src_off,size_t size) {
size_t ret;
// printf("binwrite: %d <= %d + %d (%d)\n",dest_fd,src,src_off,size);
ret = write(dest_fd,src + src_off,size);
// printf("binwrite [done %d]\n",ret);
return ret;
}
size_t binread(void *dest,int dest_off,int src_fd,size_t size) {
size_t ret;
// printf("binread: %d + %d <= %d (%d)\n",dest,dest_off,src_fd,size);
ret = read(src_fd,dest + dest_off,size);
// printf("binread [done %d]\n",ret);
return ret;
}
void binzero(void *dest,size_t size) {
bzero(dest,size);
}