comparison rvinterf/etmsync/pirmagnetite.c @ 306:8136fb5eb292

fc-fsio: write_buf_to_file() function made global in prep for upload-rf-table
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 21 Nov 2017 06:09:35 +0000
parents a3763707317f
children
comparison
equal deleted inserted replaced
305:3d79116be312 306:8136fb5eb292
51 return(rc); 51 return(rc);
52 memaddr += chunk; 52 memaddr += chunk;
53 databuf += chunk; 53 databuf += chunk;
54 } 54 }
55 return(0); 55 return(0);
56 }
57
58 static
59 write_buf_to_file(pathname, data, datalen)
60 char *pathname;
61 u_char *data;
62 {
63 int tfd, rc, chunk, remain;
64
65 if (datalen <= max_short_file_write(pathname))
66 return do_short_fwrite(pathname, data, datalen);
67 /* do it the long way */
68 rc = fd_open(pathname, FFS_O_WRONLY | FFS_O_CREATE | FFS_O_TRUNC, &tfd);
69 if (rc)
70 return(rc);
71 for (remain = datalen; remain; remain -= chunk) {
72 chunk = remain;
73 if (chunk > 240)
74 chunk = 240;
75 rc = fd_write(tfd, data, chunk);
76 if (rc) {
77 fd_close(tfd);
78 return(rc);
79 }
80 data += chunk;
81 }
82 return fd_close(tfd);
83 } 56 }
84 57
85 static 58 static
86 copy_calib_record(memaddr, pathname, size) 59 copy_calib_record(memaddr, pathname, size)
87 u32 memaddr; 60 u32 memaddr;