Move copy_all_fd from dvm_file_editor.c to ioall.c
It is useful in e.g. qfile-agent-dvm.
This commit is contained in:
parent
dd014e4cab
commit
9d8e066a7f
@ -21,27 +21,6 @@ char *get_filename()
|
|||||||
return retname;
|
return retname;
|
||||||
}
|
}
|
||||||
|
|
||||||
int copy_fd_all(int fdout, int fdin)
|
|
||||||
{
|
|
||||||
int ret;
|
|
||||||
char buf[4096];
|
|
||||||
for (;;) {
|
|
||||||
ret = read(fdin, buf, sizeof(buf));
|
|
||||||
if (!ret)
|
|
||||||
break;
|
|
||||||
if (ret < 0) {
|
|
||||||
perror("read");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (!write_all(fdout, buf, ret)) {
|
|
||||||
perror("write");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void copy_file(char *filename)
|
void copy_file(char *filename)
|
||||||
{
|
{
|
||||||
int fd = open(filename, O_WRONLY | O_CREAT, 0600);
|
int fd = open(filename, O_WRONLY | O_CREAT, 0600);
|
||||||
|
@ -59,3 +59,24 @@ int read_all(int fd, void *buf, int size)
|
|||||||
// fprintf(stderr, "read %d bytes\n", size);
|
// fprintf(stderr, "read %d bytes\n", size);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int copy_fd_all(int fdout, int fdin)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
char buf[4096];
|
||||||
|
for (;;) {
|
||||||
|
ret = read(fdin, buf, sizeof(buf));
|
||||||
|
if (!ret)
|
||||||
|
break;
|
||||||
|
if (ret < 0) {
|
||||||
|
perror("read");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
if (!write_all(fdout, buf, ret)) {
|
||||||
|
perror("write");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
int write_all(int fd, void *buf, int size);
|
int write_all(int fd, void *buf, int size);
|
||||||
int read_all(int fd, void *buf, int size);
|
int read_all(int fd, void *buf, int size);
|
||||||
|
int copy_fd_all(int fdout, int fdin);
|
||||||
|
Loading…
Reference in New Issue
Block a user