Overview
Comment: | Avoid some unnecessary I/O |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
6060a0329199375c74664ecf45269627 |
User & Date: | js on 2024-03-10 16:49:00 |
Other Links: | manifest | tags |
Context
2024-03-10
| ||
18:44 | OFIRI: Add methods for path extension check-in: 0ca94307e6 user: js tags: trunk | |
16:49 | Avoid some unnecessary I/O check-in: 6060a03291 user: js tags: trunk | |
16:29 | Add a note about ABI stability of ObjFWTest check-in: b60ab363c6 user: js tags: trunk | |
Changes
Modified src/OFData.m from [236ab0e955] to [e46674d159].
︙ | ︙ | |||
265 266 267 268 269 270 271 | #ifdef OF_HAVE_FILES - (instancetype)initWithContentsOfFile: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFIRI *IRI; @try { | | | 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | #ifdef OF_HAVE_FILES - (instancetype)initWithContentsOfFile: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFIRI *IRI; @try { IRI = [OFIRI fileIRIWithPath: path isDirectory: false]; } @catch (id e) { [self release]; @throw e; } self = [self initWithContentsOfIRI: IRI]; |
︙ | ︙ |
Modified src/OFFileManager.m from [0ef3517469] to [1db2f56a17].
︙ | ︙ | |||
212 213 214 215 216 217 218 | } - (OFIRI *)currentDirectoryIRI { void *pool = objc_autoreleasePoolPush(); OFIRI *ret; | | > | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | } - (OFIRI *)currentDirectoryIRI { void *pool = objc_autoreleasePoolPush(); OFIRI *ret; ret = [OFIRI fileIRIWithPath: self.currentDirectoryPath isDirectory: true]; ret = [ret retain]; objc_autoreleasePoolPop(pool); return [ret autorelease]; } #endif |
︙ | ︙ | |||
239 240 241 242 243 244 245 | #ifdef OF_HAVE_FILES - (OFFileAttributes)attributesOfItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFFileAttributes ret; | | > | 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 | #ifdef OF_HAVE_FILES - (OFFileAttributes)attributesOfItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFFileAttributes ret; ret = [self attributesOfItemAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; ret = [ret retain]; objc_autoreleasePoolPop(pool); return [ret autorelease]; } #endif |
︙ | ︙ | |||
267 268 269 270 271 272 273 | #ifdef OF_HAVE_FILES - (void)setAttributes: (OFFileAttributes)attributes ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self setAttributes: attributes | | | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | #ifdef OF_HAVE_FILES - (void)setAttributes: (OFFileAttributes)attributes ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self setAttributes: attributes ofItemAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif - (bool)fileExistsAtIRI: (OFIRI *)IRI { OFIRIHandler *IRIHandler; |
︙ | ︙ | |||
291 292 293 294 295 296 297 | #ifdef OF_HAVE_FILES - (bool)fileExistsAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); bool ret; | | > | 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 | #ifdef OF_HAVE_FILES - (bool)fileExistsAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); bool ret; ret = [self fileExistsAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; objc_autoreleasePoolPop(pool); return ret; } #endif |
︙ | ︙ | |||
318 319 320 321 322 323 324 | #ifdef OF_HAVE_FILES - (bool)directoryExistsAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); bool ret; | | > | 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | #ifdef OF_HAVE_FILES - (bool)directoryExistsAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); bool ret; ret = [self directoryExistsAtIRI: [OFIRI fileIRIWithPath: path isDirectory: true]]; objc_autoreleasePoolPop(pool); return ret; } #endif |
︙ | ︙ | |||
435 436 437 438 439 440 441 | } #ifdef OF_HAVE_FILES - (void)createDirectoryAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); | | > | > | 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 | } #ifdef OF_HAVE_FILES - (void)createDirectoryAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self createDirectoryAtIRI: [OFIRI fileIRIWithPath: path isDirectory: true]]; objc_autoreleasePoolPop(pool); } - (void)createDirectoryAtPath: (OFString *)path createParents: (bool)createParents { void *pool = objc_autoreleasePoolPush(); [self createDirectoryAtIRI: [OFIRI fileIRIWithPath: path isDirectory: true] createParents: createParents]; objc_autoreleasePoolPop(pool); } #endif - (OFArray OF_GENERIC(OFIRI *) *)contentsOfDirectoryAtIRI: (OFIRI *)IRI |
︙ | ︙ | |||
472 473 474 475 476 477 478 | #ifdef OF_HAVE_FILES - (OFArray OF_GENERIC(OFString *) *)contentsOfDirectoryAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFArray OF_GENERIC(OFIRI *) *IRIs; OFMutableArray OF_GENERIC(OFString *) *ret; | | > | 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 | #ifdef OF_HAVE_FILES - (OFArray OF_GENERIC(OFString *) *)contentsOfDirectoryAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFArray OF_GENERIC(OFIRI *) *IRIs; OFMutableArray OF_GENERIC(OFString *) *ret; IRIs = [self contentsOfDirectoryAtIRI: [OFIRI fileIRIWithPath: path isDirectory: true]]; ret = [OFMutableArray arrayWithCapacity: IRIs.count]; for (OFIRI *IRI in IRIs) [ret addObject: IRI.lastPathComponent]; [ret makeImmutable]; ret = [ret retain]; |
︙ | ︙ | |||
585 586 587 588 589 590 591 | objc_autoreleasePoolPop(pool); } - (void)copyItemAtPath: (OFString *)source toPath: (OFString *)destination { void *pool = objc_autoreleasePoolPush(); | | > | > | 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 | objc_autoreleasePoolPop(pool); } - (void)copyItemAtPath: (OFString *)source toPath: (OFString *)destination { void *pool = objc_autoreleasePoolPush(); [self copyItemAtIRI: [OFIRI fileIRIWithPath: source isDirectory: false] toIRI: [OFIRI fileIRIWithPath: destination isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif - (void)copyItemAtIRI: (OFIRI *)source toIRI: (OFIRI *)destination { |
︙ | ︙ | |||
772 773 774 775 776 777 778 | objc_autoreleasePoolPop(pool); } #ifdef OF_HAVE_FILES - (void)moveItemAtPath: (OFString *)source toPath: (OFString *)destination { void *pool = objc_autoreleasePoolPush(); | | > | > | 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 | objc_autoreleasePoolPop(pool); } #ifdef OF_HAVE_FILES - (void)moveItemAtPath: (OFString *)source toPath: (OFString *)destination { void *pool = objc_autoreleasePoolPush(); [self moveItemAtIRI: [OFIRI fileIRIWithPath: source isDirectory: false] toIRI: [OFIRI fileIRIWithPath: destination isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif - (void)moveItemAtIRI: (OFIRI *)source toIRI: (OFIRI *)destination { void *pool; |
︙ | ︙ | |||
846 847 848 849 850 851 852 | [IRIHandler removeItemAtIRI: IRI]; } #ifdef OF_HAVE_FILES - (void)removeItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); | | > | 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 | [IRIHandler removeItemAtIRI: IRI]; } #ifdef OF_HAVE_FILES - (void)removeItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self removeItemAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif - (void)linkItemAtIRI: (OFIRI *)source toIRI: (OFIRI *)destination { void *pool = objc_autoreleasePoolPush(); |
︙ | ︙ | |||
877 878 879 880 881 882 883 | objc_autoreleasePoolPop(pool); } #ifdef OF_FILE_MANAGER_SUPPORTS_LINKS - (void)linkItemAtPath: (OFString *)source toPath: (OFString *)destination { void *pool = objc_autoreleasePoolPush(); | | > | > | 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 | objc_autoreleasePoolPop(pool); } #ifdef OF_FILE_MANAGER_SUPPORTS_LINKS - (void)linkItemAtPath: (OFString *)source toPath: (OFString *)destination { void *pool = objc_autoreleasePoolPush(); [self linkItemAtIRI: [OFIRI fileIRIWithPath: source isDirectory: false] toIRI: [OFIRI fileIRIWithPath: destination isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif - (void)createSymbolicLinkAtIRI: (OFIRI *)IRI withDestinationPath: (OFString *)target { |
︙ | ︙ | |||
907 908 909 910 911 912 913 | } #ifdef OF_FILE_MANAGER_SUPPORTS_SYMLINKS - (void)createSymbolicLinkAtPath: (OFString *)path withDestinationPath: (OFString *)target { void *pool = objc_autoreleasePoolPush(); | | > | 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 | } #ifdef OF_FILE_MANAGER_SUPPORTS_SYMLINKS - (void)createSymbolicLinkAtPath: (OFString *)path withDestinationPath: (OFString *)target { void *pool = objc_autoreleasePoolPush(); [self createSymbolicLinkAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false] withDestinationPath: target]; objc_autoreleasePoolPop(pool); } #endif - (OFData *)extendedAttributeDataForName: (OFString *)name ofItemAtIRI: (OFIRI *)IRI |
︙ | ︙ | |||
936 937 938 939 940 941 942 | ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFData *ret; ret = [self extendedAttributeDataForName: name | | > | 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 | ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); OFData *ret; ret = [self extendedAttributeDataForName: name ofItemAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; ret = [ret retain]; objc_autoreleasePoolPop(pool); return [ret autorelease]; } #endif |
︙ | ︙ | |||
970 971 972 973 974 975 976 | - (void)setExtendedAttributeData: (OFData *)data forName: (OFString *)name ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self setExtendedAttributeData: data forName: name | | > | 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 | - (void)setExtendedAttributeData: (OFData *)data forName: (OFString *)name ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self setExtendedAttributeData: data forName: name ofItemAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif - (void)removeExtendedAttributeForName: (OFString *)name ofItemAtIRI: (OFIRI *)IRI { |
︙ | ︙ | |||
995 996 997 998 999 1000 1001 | #ifdef OF_FILE_MANAGER_SUPPORTS_EXTENDED_ATTRIBUTES - (void)removeExtendedAttributeForName: (OFString *)name ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self removeExtendedAttributeForName: name | | > | 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 | #ifdef OF_FILE_MANAGER_SUPPORTS_EXTENDED_ATTRIBUTES - (void)removeExtendedAttributeForName: (OFString *)name ofItemAtPath: (OFString *)path { void *pool = objc_autoreleasePoolPush(); [self removeExtendedAttributeForName: name ofItemAtIRI: [OFIRI fileIRIWithPath: path isDirectory: false]]; objc_autoreleasePoolPop(pool); } #endif @end @implementation OFDefaultFileManager OF_SINGLETON_METHODS |
︙ | ︙ |
Modified src/OFString.m from [fd5aa1a3b0] to [1a3f564904].
︙ | ︙ | |||
994 995 996 997 998 999 1000 | - (instancetype)initWithContentsOfFile: (OFString *)path encoding: (OFStringEncoding)encoding { void *pool = objc_autoreleasePoolPush(); OFIRI *IRI; @try { | | | 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 | - (instancetype)initWithContentsOfFile: (OFString *)path encoding: (OFStringEncoding)encoding { void *pool = objc_autoreleasePoolPush(); OFIRI *IRI; @try { IRI = [OFIRI fileIRIWithPath: path isDirectory: false]; } @catch (id e) { [self release]; @throw e; } self = [self initWithContentsOfIRI: IRI encoding: encoding]; |
︙ | ︙ |