Changes In Branch 0.3 Through [86ee771c1a] Excluding Merge-Ins
This is equivalent to a diff from 6b4749adcc to 86ee771c1a
2010-05-09
| ||
13:57 | Add latest changes from default branch to 0.3 branch. check-in: 4ded726bdb user: js tags: 0.3 | |
2010-05-05
| ||
17:31 | Merge latest changes from default branch to 0.3 branch. check-in: 86ee771c1a user: js tags: 0.3 | |
2010-04-30
| ||
21:50 | Remove warning about GNU libobjc in 0.3 branch. check-in: ff7fcef6a2 user: js tags: 0.3 | |
14:19 | Bump version to 0.4-dev. check-in: 0a92d8b607 user: js tags: trunk | |
14:16 | Branch for 0.3. check-in: 7c4399b41c user: js tags: 0.3 | |
14:12 | Fix "make tarball" for new paths. check-in: 6b4749adcc user: js tags: trunk | |
13:59 | Documentation improvement (replaced "an uint*" with "a uint*"). check-in: e259d77a62 user: js tags: trunk | |
Modified Info.plist from [f725cf10a8] to [039df37626].
︙ | ︙ | |||
13 14 15 16 17 18 19 | <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>objfw</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>objfw</string> <key>CFBundlePackageType</key> <string>FMWK</string> <key>CFBundleShortVersionString</key> <string>0.3</string> <key>CFBundleSignature</key> <string>OBJF</string> <key>CFBundleVersion</key> <string>0.3</string> </dict> </plist> |
Modified configure.ac from [b88ff9afd8] to [a418b899a7].
|
| | | 1 2 3 4 5 6 7 8 | AC_INIT(ObjFW, 0.3, js@webkeks.org) AC_CONFIG_SRCDIR(src) AC_CANONICAL_HOST AC_LANG([Objective C]) AC_PROG_OBJC AC_PROG_OBJCPP |
︙ | ︙ | |||
404 405 406 407 408 409 410 | AC_SUBST(CPP) AC_SUBST(CPPFLAGS) AC_SUBST(PACKAGE, ObjFW) AC_CONFIG_FILES([buildsys.mk extra.mk utils/objfw-config]) AC_CONFIG_HEADERS([config.h src/objfw-defs.h]) AC_OUTPUT | < < < < < < < | 404 405 406 407 408 409 410 | AC_SUBST(CPP) AC_SUBST(CPPFLAGS) AC_SUBST(PACKAGE, ObjFW) AC_CONFIG_FILES([buildsys.mk extra.mk utils/objfw-config]) AC_CONFIG_HEADERS([config.h src/objfw-defs.h]) AC_OUTPUT |
Modified src/OFFile.m from [963472770a] to [bf7134d6ef].
︙ | ︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #ifndef S_IRGRP # define S_IRGRP 0 #endif #ifndef S_IROTH # define S_IROTH 0 #endif #define DEFAULT_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH #define DIR_MODE DEFAULT_MODE | S_IXUSR | S_IXGRP | S_IXOTH OFFile *of_stdin = nil; OFFile *of_stdout = nil; OFFile *of_stderr = nil; | > > > > > > | 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #ifndef S_IRGRP # define S_IRGRP 0 #endif #ifndef S_IROTH # define S_IROTH 0 #endif #ifndef S_IWGRP # define S_IWGRP 0 #endif #ifndef S_IWOTH # define S_IWOTH 0 #endif #define DEFAULT_MODE S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH #define DIR_MODE DEFAULT_MODE | S_IXUSR | S_IXGRP | S_IXOTH OFFile *of_stdin = nil; OFFile *of_stdout = nil; OFFile *of_stderr = nil; |
︙ | ︙ | |||
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 | const char *path_c = [path cString]; size_t path_len = [path cStringLength]; ssize_t i; if (path_len == 0) return @""; if (path_c[path_len - 1] == OF_PATH_DELIM) path_len--; for (i = path_len - 1; i >= 0; i--) { if (path_c[i] == OF_PATH_DELIM) { i++; break; } } /* * Only one component, but the trailing delimiter might have been | > > > > > > > > | 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 | const char *path_c = [path cString]; size_t path_len = [path cStringLength]; ssize_t i; if (path_len == 0) return @""; #ifndef _WIN32 if (path_c[path_len - 1] == OF_PATH_DELIM) #else if (path_c[path_len - 1] == '/' || path_c[path_len - 1] == '\\') #endif path_len--; for (i = path_len - 1; i >= 0; i--) { #ifndef _WIN32 if (path_c[i] == OF_PATH_DELIM) { #else if (path_c[i] == '/' || path_c[i] == '\\') { #endif i++; break; } } /* * Only one component, but the trailing delimiter might have been |
︙ | ︙ | |||
314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 | while (![src atEndOfStream]) { size_t len = [src readNBytes: 4096 intoBuffer: buf]; [dest writeNBytes: len fromBuffer: buf]; } if (!override) { struct stat s; if (fstat(src->fd, &s) == 0) fchmod(dest->fd, s.st_mode); } } @finally { [src close]; [dest close]; } [pool release]; } | > > | 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 | while (![src atEndOfStream]) { size_t len = [src readNBytes: 4096 intoBuffer: buf]; [dest writeNBytes: len fromBuffer: buf]; } #ifndef _WIN32 if (!override) { struct stat s; if (fstat(src->fd, &s) == 0) fchmod(dest->fd, s.st_mode); } #endif } @finally { [src close]; [dest close]; } [pool release]; } |
︙ | ︙ |
Modified src/OFObject.h from [ed24092d00] to [edc7438bce].
︙ | ︙ | |||
136 137 138 139 140 141 142 | /** * Replaces a class method with a class method from another class. * * \param selector The selector of the class method to replace * \param class_ The class from which the new class method should be taken * \return The old implementation */ | | | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 | /** * Replaces a class method with a class method from another class. * * \param selector The selector of the class method to replace * \param class_ The class from which the new class method should be taken * \return The old implementation */ + (IMP)replaceClassMethod: (SEL)selector withMethodFromClass: (Class)class_; /** * Replaces an instance method implementation with another implementation. * * \param newimp The new implementation for the instance method * \param selector The selector of the instance method to replace * \return The old implementation */ + (IMP)setImplementation: (IMP)newimp forInstanceMethod: (SEL)selector; /** * Replaces an instance method with an instance method from another class. * * \param selector The selector of the instance method to replace * \param class_ The class from which the new instance method should be taken * \return The old implementation */ + (IMP)replaceInstanceMethod: (SEL)selector withMethodFromClass: (Class)class_; /** * Initializes an already allocated object. * * Derived classes may override this, but need to do self = [super init] before * they do any initialization themselves. init may never return nil, instead * an exception (for example OFInitializationFailed) should be thrown. |
︙ | ︙ |
Modified src/OFObject.m from [7e95f15bf5] to [1881ae5509].
︙ | ︙ | |||
258 259 260 261 262 263 264 | sarray_at_put_safe(((Class)self->class_pointer)->dtable, (sidx)method->method_name->sel_id, method->method_imp); return oldimp; #endif } | | | > > > > | 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 | sarray_at_put_safe(((Class)self->class_pointer)->dtable, (sidx)method->method_name->sel_id, method->method_imp); return oldimp; #endif } + (IMP)replaceClassMethod: (SEL)selector withMethodFromClass: (Class)class; { IMP newimp; if (![class isSubclassOfClass: self]) @throw [OFInvalidArgumentException newWithClass: self selector: _cmd]; #if defined(OF_OBJFW_RUNTIME) newimp = objc_get_class_method(class, selector); #elif defined(OF_APPLE_RUNTIME) newimp = method_getImplementation(class_getClassMethod(class, selector)); #else |
︙ | ︙ | |||
310 311 312 313 314 315 316 | sarray_at_put_safe(((Class)self)->dtable, (sidx)method->method_name->sel_id, method->method_imp); return oldimp; #endif } | | | > > > > | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 | sarray_at_put_safe(((Class)self)->dtable, (sidx)method->method_name->sel_id, method->method_imp); return oldimp; #endif } + (IMP)replaceInstanceMethod: (SEL)selector withMethodFromClass: (Class)class; { IMP newimp; if (![class isSubclassOfClass: self]) @throw [OFInvalidArgumentException newWithClass: self selector: _cmd]; #if defined(OF_OBJFW_RUNTIME) newimp = objc_get_instance_method(class, selector); #elif defined(OF_APPLE_RUNTIME) newimp = class_getMethodImplementation(class, selector); #else newimp = method_get_imp(class_get_instance_method(class, selector)); |
︙ | ︙ |
Modified src/OFXMLElement.m from [d6b729bcd1] to [8ef4f9d493].
︙ | ︙ | |||
13 14 15 16 17 18 19 | #include <assert.h> #include <stdlib.h> #include <string.h> #import "OFXMLElement.h" #import "OFString.h" | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <assert.h> #include <stdlib.h> #include <string.h> #import "OFXMLElement.h" #import "OFString.h" #import "OFExceptions.h" int _OFXMLElement_reference; @implementation OFString (OFXMLEscaping) - (OFString*)stringByXMLEscaping { char *str_c, *append, *tmp; size_t len, append_len; size_t i, j; OFString *ret; |
︙ | ︙ |
Modified src/OFXMLParser.m from [e53641c3ce] to [a0c5faabf6].
︙ | ︙ | |||
11 12 13 14 15 16 17 | #include "config.h" #include <string.h> #import "OFXMLParser.h" #import "OFString.h" | < < < < < < < < < < < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include "config.h" #include <string.h> #import "OFXMLParser.h" #import "OFString.h" #import "OFAutoreleasePool.h" #import "OFExceptions.h" #import "macros.h" int _OFXMLParser_reference; static OF_INLINE OFString* parse_numeric_entity(const char *entity, size_t length) { of_unichar_t c; size_t i; char buf[5]; |
︙ | ︙ | |||
76 77 78 79 80 81 82 | return nil; buf[i] = 0; return [OFString stringWithCString: buf length: i]; } | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | return nil; buf[i] = 0; return [OFString stringWithCString: buf length: i]; } @implementation OFString (OFXMLUnescaping) - (OFString*)stringByXMLUnescaping { return [self stringByXMLUnescapingWithHandler: nil]; } - (OFString*)stringByXMLUnescapingWithHandler: |
︙ | ︙ | |||
589 590 591 592 593 594 595 596 | @throw [OFInvalidEncodingException newWithClass: isa]; [ret appendCStringWithoutUTF8Checking: string + last length: i - last]; return ret; } @end | < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < | 162 163 164 165 166 167 168 169 | @throw [OFInvalidEncodingException newWithClass: isa]; [ret appendCStringWithoutUTF8Checking: string + last length: i - last]; return ret; } @end |
Modified tests/Makefile from [d78b55a6da] to [42c3ee0419].
︙ | ︙ | |||
12 13 14 15 16 17 18 | OFNumberTests.m \ OFObjectTests.m \ ${OFPLUGINTESTS_M} \ OFStreamTests.m \ OFStringTests.m \ OFTCPSocketTests.m \ ${OFTHREADTESTS_M} \ | < < | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | OFNumberTests.m \ OFObjectTests.m \ ${OFPLUGINTESTS_M} \ OFStreamTests.m \ OFStringTests.m \ OFTCPSocketTests.m \ ${OFTHREADTESTS_M} \ ${PROPERTIESTESTS_M} \ TestsAppDelegate.m IPHONE_USER = mobile IPHONE_TMP = /tmp/objfw-test .PHONY: run run-tests run-on-iphone |
︙ | ︙ |
Modified tests/OFFileTests.m from [d67d57f93a] to [b9b8be5676].
︙ | ︙ | |||
25 26 27 28 29 30 31 | { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; TEST(@"+[lastComponentOfPath", [[OFFile lastComponentOfPath: @"/tmp"] isEqual: @"tmp"] && [[OFFile lastComponentOfPath: @"/tmp/"] isEqual: @"tmp"] && [[OFFile lastComponentOfPath: @"/"] isEqual: @""] && | | | | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; TEST(@"+[lastComponentOfPath", [[OFFile lastComponentOfPath: @"/tmp"] isEqual: @"tmp"] && [[OFFile lastComponentOfPath: @"/tmp/"] isEqual: @"tmp"] && [[OFFile lastComponentOfPath: @"/"] isEqual: @""] && [[OFFile lastComponentOfPath: @"foo"] isEqual: @"foo"] && [[OFFile lastComponentOfPath: @"foo/bar"] isEqual: @"bar"] && [[OFFile lastComponentOfPath: @"foo/bar/baz/"] isEqual: @"baz"]) [pool drain]; } @end |
Deleted tests/OFXMLElementTests.m version [a0a019906c].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Deleted tests/OFXMLParserTests.m version [d66604b68c].
|
| < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < < |
Modified tests/TestsAppDelegate.h from [7e0781c6ed] to [dfa6e07171].
︙ | ︙ | |||
118 119 120 121 122 123 124 | @interface TestsAppDelegate (OFTCPSocketTests) - (void)TCPSocketTests; @end @interface TestsAppDelegate (OFThreadTests) - (void)threadTests; @end | < < < < < < < < | 118 119 120 121 122 123 124 | @interface TestsAppDelegate (OFTCPSocketTests) - (void)TCPSocketTests; @end @interface TestsAppDelegate (OFThreadTests) - (void)threadTests; @end |
Modified tests/TestsAppDelegate.m from [461a2d5844] to [6923a64125].
︙ | ︙ | |||
86 87 88 89 90 91 92 | [self listTests]; [self numberTests]; [self streamTests]; [self TCPSocketTests]; #ifdef OF_THREADS [self threadTests]; #endif | < < | 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | [self listTests]; [self numberTests]; [self streamTests]; [self TCPSocketTests]; #ifdef OF_THREADS [self threadTests]; #endif #ifdef OF_PLUGINS [self pluginTests]; #endif #ifdef OF_HAVE_PROPERTIES [self propertiesTests]; #endif if (fails > 0) [OFApplication terminateWithStatus: fails]; } @end |
Modified utils/objfw-config.in from [d92d8227a8] to [398daa9578].
︙ | ︙ | |||
8 9 10 11 12 13 14 | OBJC="@OBJC@" OBJCFLAGS="@GNU_RUNTIME@ -fexceptions -fobjc-exceptions" OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstString" OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@ @NO_WARN_UNUSED@ @ATOMIC_OBJCFLAGS@" LDFLAGS="" LDFLAGS_RPATH="@LDFLAGS_RPATH@" LIBS="-L${libdir} -lobjfw @LIBS@" | | | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | OBJC="@OBJC@" OBJCFLAGS="@GNU_RUNTIME@ -fexceptions -fobjc-exceptions" OBJCFLAGS="$OBJCFLAGS -fconstant-string-class=OFConstString" OBJCFLAGS="$OBJCFLAGS @NO_CONST_CFSTRINGS@ @NO_WARN_UNUSED@ @ATOMIC_OBJCFLAGS@" LDFLAGS="" LDFLAGS_RPATH="@LDFLAGS_RPATH@" LIBS="-L${libdir} -lobjfw @LIBS@" VERSION="0.3" show_help() { cat <<__EOF__ objfw-config: Available arguments are: --all Outputs all flags + libs --cflags Outputs the required CFLAGS |
︙ | ︙ |