|
CS471/571 - Operating Systems
|
Displaying ./code/xv6-public/cp.c
#include "types.h"
#include "stat.h"
#include "user.h"
#include "fcntl.h"
#define K 1024
int main(int argc, char *argv[])
{
if (argc < 3) {
printf(2, "Usage: cp <src> <dst>\n");
exit();
}
int src = open(argv[1], O_RDONLY);
if (src < 0) {
printf(2, "Error opening src for reading.\n");
exit();
}
int dst = open(argv[2], O_WRONLY | O_CREATE);
if (dst < 0) {
printf(2, "Error opening dst for writing.\n");
exit();
}
char buf[K];
int r;
while ((r = read(src, buf, K)) > 0) {
write(dst, buf, r);
}
close(dst);
close(src);
exit();
}
|