Changes In Branch 0.3 Through [d8bd978d81] Excluding Merge-Ins
This is equivalent to a diff from 6b4749adcc to d8bd978d81
2010-06-19
| ||
16:56 | Set version to 0.3.1 in 0.3 branch. check-in: 1b52853e4d user: js tags: 0.3, 0.3.1-release | |
15:48 | Update ChangeLog in 0.3 branch. check-in: d8bd978d81 user: js tags: 0.3 | |
2010-06-17
| ||
20:17 | Merge a few changesets from the default branch into the 0.3 branch. check-in: cb2058b0d8 user: js tags: 0.3 | |
2010-04-30
| ||
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 ChangeLog from [e54750ee89] to [efaefffd2e].
1 2 3 4 5 6 7 8 9 10 11 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | Legend: * Changes of existing features or bugfixes. + New features. ObjFW 0.3 -> 0.3.1, 19.06.2010 * Fix a typo in OFMutableDictionary that prevented termination in case the last bucket is already used when the dictionary is resized. * The mutations pointer is now correctly initialized in enumerators for immutable collections. * The objc_sync test was still using the old threads API and was updated to use the new one now. * PLATFORMS has been updated to be more specific. ObjFW 0.2.1 -> 0.3, 09.05.2010 + Many new methods were added to different classes. + A huge amount of methods was added to OFStream, allowing easy binary stream handling and even mixing string-based and binary operations. + An optional write buffer was added to OFStream. + OFSeekableStream was added for streams that allow seeking, for example OFFiles. * OFNumber was completely reworked and got many new features now. * Large parts of OFDictionary were rewritten for better readability, better memory usage and to fix a bug with removing objects. * OFThread has been greatly improved. * Many small optimizations. * Many documentation improvements. * Method replacing was reworked and the methods renamed. + Tests for OFStream were added. * A bug with building ObjFW as a Universal Binary Framework was fixed. + Support for ObjFW-RT, the ObjFW Objective C runtime, was added. * Sockets are now properly closed before an exception is thrown. * Error handling with sockets was improved. * OFFile now uses open(), read() and write(), thus allowing -[readLine] to be used on of_stdin and fixing many other annoyances. * A few misc methods were renamed. + OFApplication was added. * All tests and the table generator are now using OFApplication. + It is now possible to get the remote address of an OFTCPSocket. + OFString can now build paths in the OS-native format. + It is now possible to create a string with the contents of a file. + Many new file operations were added to OFFile. * The existing file operations in OFFile were improved. * Almost all functions that returned self before now return void. + OFHash was added as a superclass for OFMD5Hash and OFSHA1Hash and OFHashes renamed to OFHash. + objfw-compile was added for easy compilation of ObjFW projects, which includes dependency checking for headers etc. * The instance variable naming convention was changed so that properties work. + Properties were added to the interfaces and are used if they are supported by the compiler. + The library version is now included in the resulting dylib and libobjc is reexported now. Additionally, objfw-config offers --reexport now to produce libraries that link against ObjFW and reexport it. ObjFW 0.2 -> 0.2.1, 14.03.2010 * Fix for OFNumbers not doing calculations. * Improved -[hash] for OFNumbers with floats and doubles. + Tests for OFNumber. * Small optimization for OFArray's -[componentsJoinedByString:]. * Documentation improvements. * Updated copyright. |
︙ |
Modified Info.plist from [f725cf10a8] to [9c8ea66c73].
1 2 3 4 5 6 7 8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | - - + + - + - - - - - + - + + + | <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>ObjFW</string> |
Modified PLATFORMS from [8d9a4a948b] to [31b43e99c6].
1 2 3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + | ObjFW is known to work on the following platforms, but should run on many others as well: |
Modified configure.ac from [b88ff9afd8] to [6cc1ac725b].
| 1 2 3 4 5 6 7 8 | - + |
|
︙ | |||
119 120 121 122 123 124 125 126 127 128 129 130 131 132 | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 | + + + + + + + | if test x"$PLUGIN_SUFFIX" != "x"; then AC_SUBST(OFPLUGIN_M, "OFPlugin.m") AC_SUBST(OFPLUGINTESTS_M, "OFPluginTests.m") AC_SUBST(TESTPLUGIN, "plugin") AC_DEFINE(OF_PLUGINS, 1, [Whether we have plugin support]) AC_SUBST(OFPLUGINS_DEF, "-DOF_PLUGINS") fi case "$host_os" in darwin*) AC_SUBST(REEXPORT_LIBOBJC, [-Wl,-reexport-lobjc]) AC_SUBST(LDFLAGS_REEXPORT, [-Wl,-reexport-lobjfw]) ;; esac AC_C_BIGENDIAN([ AC_DEFINE(OF_BIG_ENDIAN, 1, [Whether we are big endian]) AC_SUBST(ENDIANESS_DEF, "-DOF_BIG_ENDIAN")]) AC_MSG_CHECKING(for SIZE_MAX) AC_EGREP_CPP(yes, [ |
︙ | |||
404 405 406 407 408 409 410 | 411 412 413 414 415 416 417 | - - - - - - - | 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 extra.mk.in from [ea8c58d171] to [100b41fa7b].
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | + | OBJFW_LIB_MAJOR = 2 OBJFW_LIB_MINOR = 0 OBJFW_LIB_MAJOR_MINOR = ${OBJFW_LIB_MAJOR}.${OBJFW_LIB_MINOR} ASPRINTF_M = @ASPRINTF_M@ ATOMIC_H = @ATOMIC_H@ OBJC_PROPERTIES_M = @OBJC_PROPERTIES_M@ OBJC_SYNC_M = @OBJC_SYNC_M@ OFPLUGIN_M = @OFPLUGIN_M@ OFPLUGINTESTS_M = @OFPLUGINTESTS_M@ OFTHREAD_M = @OFTHREAD_M@ OFTHREADTESTS_M = @OFTHREADTESTS_M@ PROPERTIESTESTS_M = @PROPERTIESTESTS_M@ REEXPORT_LIBOBJC = @REEXPORT_LIBOBJC@ TESTPLUGIN = @TESTPLUGIN@ TESTS = @TESTS@ TEST_LAUNCHER = @TEST_LAUNCHER@ THREADING_H = @THREADING_H@ |
Modified m4/buildsys.m4 from [8507639fdf] to [b350cd68ec].
︙ | |||
53 54 55 56 57 58 59 | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | - + - + | AC_REQUIRE([AC_CANONICAL_HOST]) AC_MSG_CHECKING(for shared library system) case "$host_os" in darwin*) AC_MSG_RESULT(Darwin) LIB_CPPFLAGS='-DPIC' LIB_CFLAGS='-fPIC' |
︙ |
Modified src/Makefile from [a0ae7ee314] to [a2fadbd234].
︙ | |||
8 9 10 11 12 13 14 | 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | - + | OFArray.m \ OFAutoreleasePool.m \ OFConstString.m \ OFDataArray.m \ OFDictionary.m \ OFExceptions.m \ OFFile.m \ |
︙ | |||
47 48 49 50 51 52 53 | 47 48 49 50 51 52 53 54 | + | ${OBJC_SYNC_M} include ../buildsys.mk CPPFLAGS += -I.. ${LIB_CPPFLAGS} OBJCFLAGS += ${LIB_CFLAGS} LD = ${OBJC} LDFLAGS += ${REEXPORT_LIBOBJC} |
Modified src/OFArray.m from [af5a656bb6] to [38df47daa4].
︙ | |||
370 371 372 373 374 375 376 | 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 | - + | - initWithDataArray: (OFDataArray*)array_ mutationsPointer: (unsigned long*)mutationsPtr_; { self = [super init]; array = array_; count = [array_ count]; |
︙ |
Modified src/OFDictionary.m from [0083ef4288] to [d6200e89ce].
︙ | |||
686 687 688 689 690 691 692 | 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 | - + | size: (uint32_t)size_ mutationsPointer: (unsigned long*)mutationsPtr_ { self = [super init]; data = data_; size = size_; |
︙ |
Modified src/OFExceptions.m from [1b38e5bb50] to [a94e12da30].
︙ | |||
82 83 84 85 86 87 88 | 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | - + | selector: _cmd]; } - initWithClass: (Class)class_ { self = [super init]; |
︙ | |||
1255 1256 1257 1258 1259 1260 1261 | 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 | - + | - (OFString*)string { if (string != nil) return string; string = [[OFString alloc] initWithFormat: @"A connection to service %s on node %s could not be established " |
︙ |
Modified src/OFFile.m from [963472770a] to [bf7134d6ef].
︙ | |||
37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 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 | 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 | 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]; } |
︙ |
Added src/OFHash.h version [c880c1bfa4].