Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch 0.3 Excluding Merge-Ins
This is equivalent to a diff from 6b4749adcc to ea546fda89
|
2011-05-02
| ||
| 00:51 | Close 0.3 branch. Closed-Leaf check-in: ea546fda89 user: js tags: 0.3 | |
|
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 | |
|
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 | |
Changes to ChangeLog.
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. |
| ︙ |
Changes to Info.plist.
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> |
Changes to PLATFORMS.
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: |
Changes to configure.ac.
| 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 |
Changes to extra.mk.in.
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@
|
Changes to m4/buildsys.m4.
| ︙ | |||
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' |
| ︙ |
Changes to src/Makefile.
| ︙ | |||
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}
|
Changes to src/OFArray.m.
| ︙ | |||
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];
|
| ︙ |
Changes to src/OFDictionary.m.
| ︙ | |||
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_;
|
| ︙ |
Changes to src/OFExceptions.m.
| ︙ | |||
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 "
|
| ︙ |
Changes to src/OFFile.m.
| ︙ | |||
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.