FreeCalypso > hg > freecalypso-tools
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; |