#include <stdio.h>

size_t fwrite(void *ptr,size_t size,size_t nmemb,FILE *f)
{
    size_t total=size*nmemb;char *p=ptr;long result;
    if(!f||!total) return(0);
    if((f->flags&(_WRITEABLE|_READ|_ERR|_EOF))!=_WRITEABLE) return(0);
    f->flags|=_WRITE;
    /*  einfache (ungepufferte) Implementation  */
    fflush(f);
    result=Write(f->filehandle,p,total);
    if(result==-1){f->flags|=_ERR;return(0);}
    return(result/size);

/*    if(f->count){
        if(total<=f->count){
            memcpy(f->pointer,p,total);
            f->pointer+=total;f->count-=total;
            return(total);
        }else{
            memcpy(f->pointer,p,f->count);
            total-=f->count;p+=f->count;
            f->count=0;
        }
    }
    result=Read(f->filehandle,p,total);
    if(result==-1){f->flags|=_ERR;return((p-(char *)ptr)/size);}
    return((p+total-(char *)ptr)/size);*/
}
