642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
|
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
|
-
+
|
}
} else if ([type isEqual: OFFileTypeRegular]) {
size_t pageSize = [OFSystemInfo pageSize];
OFStream *sourceStream = nil;
OFStream *destinationStream = nil;
char *buffer;
buffer = of_alloc(1, pageSize);
buffer = OFAllocMemory(1, pageSize);
@try {
sourceStream = [[OFURLHandler handlerForURL: source]
openItemAtURL: source
mode: @"r"];
destinationStream = [[OFURLHandler handlerForURL:
destination] openItemAtURL: destination
mode: @"w"];
|
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
|
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
|
-
+
|
destinationURL: destination
errNo: [e errNo]];
@throw e;
} @finally {
[sourceStream close];
[destinationStream close];
free(buffer);
OFFreeMemory(buffer);
}
} else if ([type isEqual: OFFileTypeSymbolicLink]) {
@try {
OFString *linkDestination =
attributes.fileSymbolicLinkDestination;
[self createSymbolicLinkAtURL: destination
|