ObjFW  History of src/OFProcess.m of 8c368f8f383b085f

History of the file that is called src/OFProcess.m at check-in 8c368f8f383b085f

2024-04-03
02:16
[104b24bd0b] part of check-in [7413a728a7] Change license to LGPLv3 only (check-in: [7413a728a7] user: js, branch: trunk, size: 893) [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
[54c0453ebb] part of check-in [26ddd2e4e4] Update copyright (check-in: [26ddd2e4e4] user: js, branch: trunk, size: 685) [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
[9698c0f2ee] part of check-in [8939cbdb52] Update copyright (check-in: [8939cbdb52] user: js, branch: trunk, size: 685) [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
[c37900d1dc] part of check-in [1a86b8175b] Update copyright (check-in: [1a86b8175b] user: js, branch: trunk, size: 685) [annotate] [blame] [check-ins using] [diff]
2021-05-01
03:02
[f686b80ad6] part of check-in [4a6e3b42f5] Rename directories in src/platform (check-in: [4a6e3b42f5] user: js, branch: trunk, size: 685) [annotate] [blame] [check-ins using] [diff]
2021-03-30
21:06
Renamed src/OFProcess.m → src/OFSubprocess.m. [6a65d9f1d2] part of check-in [79548b3c29] Rename OFProcess to OFSubprocess (check-in: [79548b3c29] user: js, branch: trunk, size: 685) [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
[80953e8b4c] part of check-in [374e1a1bfa] Update copyright (check-in: [374e1a1bfa] user: js, branch: trunk, size: 679) [annotate] [blame] [check-ins using] [diff]
2020-02-29
16:09
[07d8cb1dd6] part of check-in [5ca0376aa3] Move OFProcess to platform subdirectory (check-in: [5ca0376aa3] user: js, branch: trunk, size: 768) [annotate] [blame] [check-ins using] [diff]
2020-01-14
00:16
[dc3506687f] part of check-in [3b43d51006] More consistent -[close] behavior

This means refusing to close twice, calling -[close] from -[dealloc] and
not calling -[cancelAsyncRequests].

Calling -[cancelAsyncRequests] in -[close] is too dangerous, as -[close]
gets called by -[dealloc]: If the queue is the last reference to the
object, at the point where -[cancelAsyncRequests] removes it from the
queue, the object will start to deallocate and call into
-[cancelAsyncRequests] again, which is still in the middle of removing
it and now finds itself with an inconsistent state. (check-in: [3b43d51006] user: js, branch: trunk, size: 14308) [annotate] [blame] [check-ins using] [diff]

2020-01-02
01:51
[7babcc132e] part of check-in [c7f0229795] Update copyright (check-in: [c7f0229795] user: js, branch: trunk, size: 14211) [annotate] [blame] [check-ins using] [diff]
2019-03-09
10:48
[c878371199] part of check-in [c1e949a8c6] Several minor fixes (check-in: [c1e949a8c6] user: js, branch: trunk, size: 14208) [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
[c46d227848] part of check-in [bceb7ed4c9] Use dot syntax (check-in: [bceb7ed4c9] user: js, branch: trunk, size: 14201) [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
[ebfcdb4565] part of check-in [0509d7a844] Update copyright (check-in: [0509d7a844] user: js, branch: trunk, size: 14249) [annotate] [blame] [check-ins using] [diff]
2018-07-28
18:45
[2efa587efd] part of check-in [aa0384d1bf] Rename OFLocalization -> OFLocale (check-in: [aa0384d1bf] user: js, branch: trunk, size: 14243) [annotate] [blame] [check-ins using] [diff]
2018-02-25
04:31
[bf28fd0153] part of check-in [505137f25f] Reintroduce of_char{16,32}_t

There is no reliable way to check if C++ already defined those, as Clang
now defines char{16,32}_t even when it is not in C++ 11 mode. So we
cannot check if we are not in C++ 11 and then define them and otherwise
rely on the C++ 11 types. (check-in: [505137f25f] user: js, branch: trunk, size: 14267) [annotate] [blame] [check-ins using] [diff]

2018-01-03
19:49
[49cc46fab4] part of check-in [7e5c81e186] Update copyright notice (check-in: [7e5c81e186] user: js, branch: trunk, size: 14246) [annotate] [blame] [check-ins using] [diff]
2017-11-19
11:04
[b38c51b4de] part of check-in [69749b6a5b] Do not conform to OFReadyFor*Observing by default

Instead of letting OFStream conform to it, which itself does not really
conform to it, let all the subclasses that actually do conform to it. (check-in: [69749b6a5b] user: js, branch: trunk, size: 14223) [annotate] [blame] [check-ins using] [diff]

2017-10-17
00:33
[47e26e30a9] part of check-in [2f4e0df8be] Do not use implicit method return types

Instead, explicitly declare them, as OF_ASSUME_NONNULL_{BEGIN,END} does
not apply to implicit return types. This means that after this commit,
all init methods have a nonnull return type, as they should have. (check-in: [2f4e0df8be] user: js, branch: trunk, size: 14313) [annotate] [blame] [check-ins using] [diff]

2017-09-24
12:24
[7459e546ae] part of check-in [481225349f] OFStream: Add support for async writes (check-in: [481225349f] user: js, branch: trunk, size: 14222) [annotate] [blame] [check-ins using] [diff]
2017-07-22
20:50
[fe4d78c81a] part of check-in [c8f7b90082] Split OFDataArray into OFData and OFMutableData (check-in: [c8f7b90082] user: js, branch: trunk, size: 14379) [annotate] [blame] [check-ins using] [diff]
2017-06-12
22:29
[b2487462e5] part of check-in [2ae01218ef] OFWriteFailedException: Add -[bytesWritten]

This allows retrieving the number of bytes already written before the
write failed, allowing to retry without writing data that has already
been written. (check-in: [2ae01218ef] user: js, branch: trunk, size: 14385) [annotate] [blame] [check-ins using] [diff]

2017-06-05
17:36
[a980832db2] part of check-in [4f36894ce7] Clean up exceptions a little

This removes several initializers that omitted the errNo. Removing those
forces to think about whether there is a meaningful errNo to set instead
of just omitting it. (check-in: [4f36894ce7] user: js, branch: trunk, size: 14117) [annotate] [blame] [check-ins using] [diff]

15:51
[ea4c0fa50a] part of check-in [f9cd4f9cab] OFStream: Don't throw when at end of stream

Instead, let reads return 0 and let writes append after the end. (check-in: [f9cd4f9cab] user: js, branch: trunk, size: 14093) [annotate] [blame] [check-ins using] [diff]

2017-05-27
10:33
[5a7b7eae60] part of check-in [d31ec806ef] Add unistd.h wrapper to make things less horrible (check-in: [d31ec806ef] user: js, branch: trunk, size: 14236) [annotate] [blame] [check-ins using] [diff]
10:08
[4c6eb1f07f] part of check-in [ec36a82d68] Make things work with glibc 2.17 and Clang 3.4.2 (check-in: [ec36a82d68] user: js, branch: trunk, size: 14401) [annotate] [blame] [check-ins using] [diff]
2017-05-22
23:31
[c5ef32205f] part of check-in [1287e77e04] Make includes of unistd.h and fcntl.h conditional (check-in: [1287e77e04] user: js, branch: trunk, size: 14368) [annotate] [blame] [check-ins using] [diff]
2017-05-21
21:28
[57b3b6c720] part of check-in [6b77a5dd8b] Prefix private methods with of_ instead of OF_

This matches Apple's style. (check-in: [6b77a5dd8b] user: js, branch: trunk, size: 14339) [annotate] [blame] [check-ins using] [diff]

2017-05-07
21:25
[8cc38c1f3c] part of check-in [37d2a81754] Use char{16,32}_t instead of of_char{16,32}_t (check-in: [37d2a81754] user: js, branch: trunk, size: 14339) [annotate] [blame] [check-ins using] [diff]
20:10
[08732d57f8] part of check-in [4af49a13c3] Small code style change

Casts are now written like types in variable declarations. (check-in: [4af49a13c3] user: js, branch: trunk, size: 14360) [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
[e88047c399] part of check-in [44f45c2e35] Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. (check-in: [44f45c2e35] user: js, branch: trunk, size: 14320) [annotate] [blame] [check-ins using] [diff]

06:26
[b11627a172] part of check-in [06bcb21fc7] Add OFLocalization

This singleton gives access to all things locale, including the ability
to get localized strings.

This also adds the OF_LOCALIZED() macro. Its first argument is an ID for
the string to be localized and its second argument is the fallback
string to be used if it cannot retrieve the localized string. Following
that are variable name / value pairs to be replaced in the localized
string.

Getting translated strings is not implemented yet: Instead, it always
uses the fallback string.

This also switches ofhttp to localized strings. (check-in: [06bcb21fc7] user: js, branch: trunk, size: 14314) [annotate] [blame] [check-ins using] [diff]

2016-06-07
22:56
[273ab6b21b] part of check-in [1de551cb5f] Add support for reusing OFStreams after close

Right now, this is only useful for OFTCPSocket, as this is the only
class so far not establishing the stream in the init method. However,
this adds the general infrastructure to allow reuse to all subclasses of
OFStream. (check-in: [1de551cb5f] user: js, branch: trunk, size: 14342) [annotate] [blame] [check-ins using] [diff]

2016-05-28
13:18
[e8f32c52e1] part of check-in [0c7c53dd58] OFProcess: Improve environment handling on Win32

This makes sure to return NULL if the passed environment is nil and
makes sure that the environment is always terminated with 4 zero bytes,
even if the environment is empty. (check-in: [0c7c53dd58] user: js, branch: trunk, size: 14325) [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
[5507b0fea2] part of check-in [cec0f072f8] Update copyright

While at it, also update the mail address. (check-in: [cec0f072f8] user: js, branch: 0.8, size: 14296) [annotate] [blame] [check-ins using] [diff]

00:41
[03cde41f41] part of check-in [2a27cf3000] Update copyright

While at it, also update the mail address. (check-in: [2a27cf3000] user: js, branch: trunk, size: 14251) [annotate] [blame] [check-ins using] [diff]

2015-11-29
14:23
[b05e103aab] part of check-in [2aca549d60] Clean up class extensions

Now that we can require GCC >= 4.6, we no longer need to fall back to
using a category on old compilers. (check-in: [2aca549d60] user: js, branch: trunk, size: 14247) [annotate] [blame] [check-ins using] [diff]

14:02
[3256a71833] part of check-in [6b13727ce0] Make use of fast enumeration

Now that we require GCC >= 4.6 anyway, there's no more reason to not use
it anymore. (check-in: [6b13727ce0] user: js, branch: trunk, size: 14266) [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
[b8e8f16191] part of check-in [1ba08eebc5] Add platform.h & make platform defines consistent (check-in: [1ba08eebc5] user: js, branch: trunk, size: 14375) [annotate] [blame] [check-ins using] [diff]
2015-10-04
11:30
[09488f3c9c] part of check-in [fc73801932] Better length checks for write / send calls (check-in: [fc73801932] user: js, branch: trunk, size: 14292) [annotate] [blame] [check-ins using] [diff]
2015-08-26
08:24
[dc696d6c83] part of check-in [3ff339cf42] OFProcess: Send SIGTERM on close

SIGKILL was a little bit too much. (check-in: [3ff339cf42] user: js, branch: trunk, size: 14204) [annotate] [blame] [check-ins using] [diff]

2015-08-09
14:59
[30416b7510] part of check-in [87b1318a27] OFProcess: Use vfork() instead of fork() (check-in: [87b1318a27] user: js, branch: trunk, size: 14204) [annotate] [blame] [check-ins using] [diff]
2015-02-16
08:39
[5b951c5966] part of check-in [62e2de30b9] Explicitly pass errno to exceptions

The old behaviour where the exception would access errno directly on
creation of the exception was very fragile. The two main problems with
it were that sometimes it would pick up an errno even though none had
been set and in other cases that when the exception was created errno
had already been overridden.

This also greatly increases errno handling on Win32, especially in
conjunction with sockets. It can still be improved further, though. (check-in: [62e2de30b9] user: js, branch: trunk, size: 14203) [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
[957d79c2fa] part of check-in [cfd374b906] Update copyright (check-in: [cfd374b906] user: js, branch: trunk, size: 13657) [annotate] [blame] [check-ins using] [diff]
2014-12-14
17:35
[8e7954549c] part of check-in [e9984d112a] OFProcess: Use posix_spawnp if available (check-in: [e9984d112a] user: js, branch: trunk, size: 13651) [annotate] [blame] [check-ins using] [diff]
2014-12-13
16:53
[7cc001dd62] part of check-in [12ceeb7853] Fix compilation with GCC (check-in: [12ceeb7853] user: js, branch: trunk, size: 12383) [annotate] [blame] [check-ins using] [diff]
2014-11-09
18:54
[ffa482714b] part of check-in [30e5c5ea27] OFProcess: Do all memory allocation before fork() (check-in: [30e5c5ea27] user: js, branch: trunk, size: 12241) [annotate] [blame] [check-ins using] [diff]
2014-10-24
19:12
[02e2a0da24] part of check-in [f45a6bb10b] OFProcess: Use _exit() on failure (check-in: [f45a6bb10b] user: js, branch: trunk, size: 11922) [annotate] [blame] [check-ins using] [diff]
2014-10-04
21:59
[940798f49a] part of check-in [ec66e49dca] Add +[OFSystemInfo native8BitEncoding]

This replaces +[OFString nativeOSEncoding]. (check-in: [ec66e49dca] user: js, branch: trunk, size: 11983) [annotate] [blame] [check-ins using] [diff]

2014-06-21
21:43
[486d495193] part of check-in [13ee56edf3] Move all macros from OFObject.h to macros.h

This means that OFObject.h imports macros.h now, making it unnecessary
to manually import macros.h in almost every file. And while at it, also
import autorelease.h in OFObject.h, so that this doesn't need to be
manually imported in almost every file as well. (check-in: [13ee56edf3] user: js, branch: trunk, size: 11946) [annotate] [blame] [check-ins using] [diff]

2014-06-16
15:06
[bf59320c7a] part of check-in [68d32a92c1] Make return type of -[OFArray objects] const

After all, this might (and does for OFArray_adjacent!) return an
internal representation that must not be changed, so changes should be
prevented at compile-time. (check-in: [68d32a92c1] user: js, branch: trunk, size: 11990) [annotate] [blame] [check-ins using] [diff]

2014-05-29
21:27
[521a1f3185] part of check-in [d1e559b643] Work around __block being used by old glibc (check-in: [d1e559b643] user: js, branch: trunk, size: 11984) [annotate] [blame] [check-ins using] [diff]
2014-05-15
01:50
[816fb9bfe7] part of check-in [17be12b6e5] Don't define _*_SOURCE

Instead, just define _GNU_SOURCE when __GLIBC__ is defined. After all,
that's the only libc that doesn't work properly without any defines. (check-in: [17be12b6e5] user: js, branch: trunk, size: 11893) [annotate] [blame] [check-ins using] [diff]

2014-04-26
00:40
[f1314df72d] part of check-in [4e59d2692f] Fix a few issues on LLP64 and Win64

LLP64 was mostly fast enumeration using an unsigned long for the state,
which can't store a pointer or a size_t on LLP64. This is now solved by
either throwing an OFOutOfRangeException if the value of the size_t is
bigger than ULONG_MAX or storing the pointer in the extra field (copied
using memcpy, as it's an array of unsigned long, which again would be
too small to store a pointer).

Win64 was mostly Microsoft not being able to decide whether a length is
a size_t, a DWORD, an int or an unsigned int (thus the different types
in places that seem to be almost the same). But since that would not be
confusing enough, a file descriptor is an int if it's for a file, but a
long long if it is for a socket. But of course, for ReadFile and friends
it's a DWORD instead of an int then. (check-in: [4e59d2692f] user: js, branch: trunk, size: 11916) [annotate] [blame] [check-ins using] [diff]

2014-02-13
23:26
[69b09cd9ef] part of check-in [2f5af58573] Use -std=c11 instead of -std=gnu11

Not using -std=gnu11 means _GNU_SOURCE does not get defined anymore,
therefore this commit also adds the required feature defines for glibc.

Additionally, this adds of_strdup in macros.h, as strdup is an
extension. (check-in: [2f5af58573] user: js, branch: trunk, size: 11542) [annotate] [blame] [check-ins using] [diff]

2014-01-25
17:39
[754335c8dd] part of check-in [8d2a5052fd] Generalize stream / socket related exceptions

This is in preparation for adding UDP sockets, as UDP sockets and TCP
sockets have no common superclass, as one is stream-oriented while the
other is packet-oriented.

Read and write exceptions are for any object now, as they are useful for
a lot more than just for streams, while the others (bind, listen, etc.)
are for any socket now (the type is id in this case, though, as there is
no common superclass). (check-in: [8d2a5052fd] user: js, branch: trunk, size: 11519) [annotate] [blame] [check-ins using] [diff]

2014-01-16
23:38
[8b087c9ef5] part of check-in [e54c8c0368] Add +[OFString nativeOSEncoding].

This replaces OF_STRING_ENCODING_NATIVE, as a define was not flexible
enough (determining the native OS encoding at startup was not possible). (check-in: [e54c8c0368] user: js, branch: trunk, size: 11519) [annotate] [blame] [check-ins using] [diff]

2014-01-04
00:24
[1aa806b8bb] part of check-in [3b97fc3cd9] Update copyright. (check-in: [3b97fc3cd9] user: js, branch: trunk, size: 11519) [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:27
[4601d52af5] part of check-in [6e19bd47ee] Add OF_UNRECOGNIZED_SELECTOR. (check-in: [6e19bd47ee] user: js, branch: trunk, size: 11513) [annotate] [blame] [check-ins using] [diff]
01:12
[fbf3337ae3] part of check-in [35dafd5c57] Add OF_INVALID_INIT_METHOD. (check-in: [35dafd5c57] user: js, branch: trunk, size: 11581) [annotate] [blame] [check-ins using] [diff]
2013-08-15
19:00
[cf4262ee3c] part of check-in [1d7a1cbca0] Move private methods into private headers. (check-in: [1d7a1cbca0] user: js, branch: trunk, size: 11526) [annotate] [blame] [check-ins using] [diff]
2013-06-22
12:12
[6a59691f03] part of check-in [3d16a30f41] Rework exceptions.

This mostly removes the argument for the class in which the exception
occurred. As backtraces were recently added for all platforms, the
passed class does not give any extra information on where the exception
occurred anymore.

This also removes a few other arguments which were not too helpful. In
the past, the idea was to pass as many arguments as possible so that it
is easier to find the origin of the exception. However, as backtraces
are a much better way to find the origin, those are not useful anymore
and just make the exception more cumbersome to use. The rule is now to
only pass arguments that might help in recovering from the exception or
provide information that is otherwise not easily accessible. (check-in: [3d16a30f41] user: js, branch: trunk, size: 11311) [annotate] [blame] [check-ins using] [diff]

2013-06-17
08:44
[499c5dab3d] part of check-in [eceebefeab] Rename -[OFDataArray readDataArrayWithSize:].

It is now called -[readDataArrayWithCount:]. (check-in: [eceebefeab] user: js, branch: trunk, size: 11368) [annotate] [blame] [check-ins using] [diff]

2013-04-09
22:09
[4f94efa779] part of check-in [8fe08864f8] Fix incomplete of_char16_t migration. (check-in: [8fe08864f8] user: js, branch: trunk, size: 11369) [annotate] [blame] [check-ins using] [diff]
2013-03-04
17:20
[c2449bdcce] part of check-in [c5ef582958] Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. (check-in: [c5ef582958] user: js, branch: trunk, size: 11354) [annotate] [blame] [check-ins using] [diff]

2013-02-12
18:22
[ef90137219] part of check-in [e40729d406] Prefix all ivars with an underscore. (check-in: [e40729d406] user: js, branch: trunk, size: 11351) [annotate] [blame] [check-ins using] [diff]
2013-01-12
17:29
[8542470fa0] part of check-in [9ddd33a258] Rename *UsingEncoding: to *WithEncoding:.

This reverts 5362941.

Even though *UsingEncoding: is what Foundation uses, *WithEncoding: is
more natural and is more consistent with the rest. Also, this means this
restores it to the API of 0.7. (check-in: [9ddd33a258] user: js, branch: trunk, size: 11279) [annotate] [blame] [check-ins using] [diff]

2013-01-09
22:24
[298fa3b559] part of check-in [813c00ccf0] Update copyright. (check-in: [813c00ccf0] user: js, branch: trunk, size: 11286) [annotate] [blame] [check-ins using] [diff]
2013-01-08
03:41
[d218abb29b] part of check-in [382e89a033] OFProcess: Kill the process in -[close]. (check-in: [382e89a033] user: js, branch: trunk, size: 11280) [annotate] [blame] [check-ins using] [diff]
03:13
[3b9c1e042c] part of check-in [52f2c17f55] OFProcess: Correctly handle Unicode env on Win32. (check-in: [52f2c17f55] user: js, branch: trunk, size: 11102) [annotate] [blame] [check-ins using] [diff]
2013-01-07
14:49
[805ee3827f] part of check-in [f51bceaa35] OFProcess: Implement environment passing on Win32. (check-in: [f51bceaa35] user: js, branch: trunk, size: 10726) [annotate] [blame] [check-ins using] [diff]
2012-12-26
14:10
[2f6a6d8482] part of check-in [891c0faad4] OFProcess: Add a parameter for the environment. (check-in: [891c0faad4] user: js, branch: trunk, size: 9936) [annotate] [blame] [check-ins using] [diff]
2012-12-22
15:37
[77862565be] part of check-in [917ce5754c] Add -[doesNotRecognizeSelector:]. (check-in: [917ce5754c] user: js, branch: trunk, size: 7954) [annotate] [blame] [check-ins using] [diff]
2012-12-15
23:31
[ed7607de4d] part of check-in [e2f4c1283c] OFString: Improved API for getting C strings. (check-in: [e2f4c1283c] user: js, branch: trunk, size: 8082) [annotate] [blame] [check-ins using] [diff]
2012-10-14
19:22
[0d39282550] part of check-in [9fce2c470e] Add a missing include and fix a typo. (check-in: [9fce2c470e] user: js, branch: trunk, size: 8077) [annotate] [blame] [check-ins using] [diff]
2012-10-09
15:07
[3ceef225bf] part of check-in [fb515e8e24] Make use of instancetype. (check-in: [fb515e8e24] user: js, branch: trunk, size: 8039) [annotate] [blame] [check-ins using] [diff]
2012-09-16
15:43
[7f1558d0a7] part of check-in [61c1932caf] OFStream: Use lowlevel as prefix instead of _. (check-in: [61c1932caf] user: js, branch: trunk, size: 7990) [annotate] [blame] [check-ins using] [diff]
2012-09-12
17:27
[fe517b8418] part of check-in [440e95fd4a] Split -[OFStream fileDescriptor].

It is now -[fileDescriptorForReading] and -[fileDescriptorForWriting].
The split was necessary as some stream types (e.g. OFProcess) don't have
a single file descriptor, but two. This allows to use those stream types
with OFStreamObserver as well. (check-in: [440e95fd4a] user: js, branch: trunk, size: 7969) [annotate] [blame] [check-ins using] [diff]

2012-08-10
20:08
[769871dec1] part of check-in [1255f3a11a] Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. (check-in: [1255f3a11a] user: js, branch: trunk, size: 7808) [annotate] [blame] [check-ins using] [diff]

2012-07-12
01:28
[a1bb959d69] part of check-in [8892ae9fcc] Don't access isa directly. (check-in: [8892ae9fcc] user: js, branch: trunk, size: 7817) [annotate] [blame] [check-ins using] [diff]
2012-06-10
13:28
[8d0f0fd4b4] part of check-in [11d3d69a22] More API improvements. (check-in: [11d3d69a22] user: js, branch: trunk, size: 7727) [annotate] [blame] [check-ins using] [diff]
2012-06-07
12:03
[fb8b1060e5] part of check-in [0d4059306a] Rework OFStream API. (check-in: [0d4059306a] user: js, branch: trunk, size: 7735) [annotate] [blame] [check-ins using] [diff]
2012-06-06
13:47
[6f88407ce3] part of check-in [f7576a66ce] Slightly change the memory management API.

Also fix a bug where OFBigDataArray would waste memory. (check-in: [f7576a66ce] user: js, branch: trunk, size: 7734) [annotate] [blame] [check-ins using] [diff]

2012-03-12
11:54
[53a70ada66] part of check-in [008be86a16] OFArray: +[arrayWithCArray:length:] -> +[arrayWithObjects:count:].

This is required for the new array literals. (check-in: [008be86a16] user: js, branch: trunk, size: 7728) [annotate] [blame] [check-ins using] [diff]

2012-02-28
14:29
[39656659f7] part of check-in [92412c8453] Don't use alloca, as it could be unsafe. (check-in: [92412c8453] user: js, branch: 0.6, size: 7725) [annotate] [blame] [check-ins using] [diff]
2012-01-05
00:56
[be6e10ea82] part of check-in [ce70e17b38] Update copyright. (check-in: [ce70e17b38] user: js, branch: trunk, size: 7681) [annotate] [blame] [check-ins using] [diff]
2011-12-01
02:16
[afc4a2ba04] part of check-in [e8b7d0dd0d] Implement OFProcess for Win32. (check-in: [e8b7d0dd0d] user: js, branch: trunk, size: 7675) [annotate] [blame] [check-ins using] [diff]
2011-10-11
22:35
[3ee20593c1] part of check-in [d605361c8b] OFProcess: Make programName and arguments optional init arguments. (check-in: [d605361c8b] user: js, branch: trunk, size: 4140) [annotate] [blame] [check-ins using] [diff]
22:30
[7e13a65e14] part of check-in [88a34646a4] Make it possible to close an OFProcess for writing. (check-in: [88a34646a4] user: js, branch: trunk, size: 3560) [annotate] [blame] [check-ins using] [diff]
21:37
[eb421acf0f] part of check-in [adf57d7dbf] Include stdlib.h instead of alloca.h. (check-in: [adf57d7dbf] user: js, branch: trunk, size: 3462) [annotate] [blame] [check-ins using] [diff]
2011-10-06
00:11
[e808b0835a] part of check-in [85ba47f0ea] Add forgotten copyright. (check-in: [85ba47f0ea] user: js, branch: trunk, size: 3462) [annotate] [blame] [check-ins using] [diff]
00:10
[12b36ce01a] part of check-in [20ba008347] OFProcess: Make sure that we don't leave zombies behind. (check-in: [20ba008347] user: js, branch: trunk, size: 2915) [annotate] [blame] [check-ins using] [diff]
2011-10-05
23:26
Added: [a1d37f278e] part of check-in [02ab9aa8a9] Add OFProcess.

Win32 implementation following later. (check-in: [02ab9aa8a9] user: js, branch: trunk, size: 2901) [annotate] [blame] [check-ins using]