예제 #1
0
/*------------------------------
  Read from file
  ------------------------------------------------------------*/
int
read_ifile(file_desc_t *fd, void *buf, unsigned int nbyte)
{
    unsigned int i;
    int c; 

    /* eof? */
    if (fd->fds_pos >= fd->fds_size)
	return READ_EOF; 

    /* read one by one */
    for (i = 0; i < nbyte; i++) {
	if ((c = readc_ifile(fd)) == READ_EOF) {
	    return i; 
	}
	*((char *)buf+i) = c; 
    }

    return i;
}
예제 #2
0
static void
cfile(unsigned int sinumber)
{
    file_desc_t sfd, dfd;
    unsigned int dinumber;
    int status;
    int c;
    
    dinumber = create_ifile(FT_STD);
    ffatal(dinumber, "erreur creation fichier");
    printf("%d\n", dinumber);

    status = open_ifile(&dfd, dinumber);
    ffatal(!status, "erreur ouverture fichier %d", dinumber);
    
    status = open_ifile(&sfd, sinumber);
    ffatal(!status, "erreur ouverture fichier %d", sinumber);

    while((c=readc_ifile(&sfd)) != READ_EOF)
        writec_ifile(&dfd, c);

    close_ifile(&dfd);
    close_ifile(&sfd);
}