packages feed

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);
}