ObjFW  History of src/OFFile.m of d8ef56254dc71c16

History of file src/OFFile.m at check-in d8ef56254dc71c16

2025-01-15
00:05
Retry read/write on EINTR file: [d2f59b00ff] check-in: [326f0be4a2] user: js branch: trunk, size: 12303
2025-01-01
12:58
Update copyright file: [fc54a602c8] check-in: [9d802a786d] user: js branch: trunk, size: 12203
2024-04-03
02:16
Change license to LGPLv3 only file: [721f53448e] check-in: [7413a728a7] user: js branch: trunk, size: 12203
2024-04-01
16:01
Define _LARGEFILE64_SOURCE to 1

Just defining it isn't enough on QNX, it needs to have a value. file: [4b56e559f4] check-in: [fba60b6967] user: js branch: trunk, size: 11995

2024-01-02
17:17
Update copyright file: [a835c0f98a] check-in: [26ddd2e4e4] user: js branch: trunk, size: 11993
2023-10-08
11:36
OFFile: Fix closing fd 0 on failed init file: [df6d35b09d] check-in: [416094d227] user: js branch: trunk, size: 11993
2023-04-24
22:04
Avoid redefinition of _LARGEFILE64_SOURCE file: [11d5a8e0e1] check-in: [0c471da638] user: js branch: trunk, size: 11955
2023-04-10
15:08
Work around newer amiga-gcc defining Class file: [a8a92fb395] check-in: [abbed5c008] user: js branch: trunk, size: 11919
2023-01-06
09:04
Update copyright file: [cc56c9bcdd] check-in: [8939cbdb52] user: js branch: trunk, size: 11875
2022-11-24
00:21
Rename OFURI to OFIRI file: [e8312c2cba] check-in: [23272e6d43] user: js branch: trunk, size: 11875
2022-11-16
01:27
Add OFAssert()

This uses the same format as OFEnsure(). file: [c784d31e2e] check-in: [c86b8f10f0] user: js branch: trunk, size: 11893

2022-09-28
21:40
Rename OFUR{L -> I} in preparation for URI support file: [57c941bba1] check-in: [e7ab06503c] user: js branch: trunk, size: 11913
2022-08-27
20:58
OFSeekableStream: Add OFSeekWhence enum file: [233f3b1153] check-in: [73f5e3aa84] user: js branch: trunk, size: 11913
20:39
Rename OFFileOffset -> OFStreamOffset file: [8cbc43a8f0] check-in: [51589c6496] user: js branch: trunk, size: 11501
2022-07-31
13:55
Add initial socket code for Nintendo Switch

This doesn't work yet (it crashes on recvfrom), so it's not enabled in
configure for now. file: [6bda5c55f7] check-in: [a30a0ab261] user: js branch: nintendo-switch, size: 11491

2022-07-17
22:49
Add support for files on Nintendo Switch file: [732a34cd87] check-in: [3228d624fe] user: js branch: nintendo-switch, size: 11597
2022-06-05
09:13
Remove +[OFFile fileWithURL:] file: [0786a18c44] check-in: [e61d7f5eb7] user: js branch: trunk, size: 11210
2022-04-25
19:09
OFOpenItemFailedException: Remove path file: [ca29a7a55a] check-in: [c62f1c55ac] user: js branch: trunk, size: 11880
2022-02-12
07:46
Update copyright file: [6d43aa3c50] check-in: [1a86b8175b] user: js branch: trunk, size: 11730
2021-05-01
02:42
OFFile: Add missing locking on AmigaOS file: [87a6169ed1] check-in: [d39e22d766] user: js branch: trunk, size: 11730
02:39
Fix compiling for AmigaOS file: [783bfdb488] check-in: [171f3ba831] user: js branch: trunk, size: 11678
2021-04-29
23:24
Clean up struct and enum typedefs

With TYPEDEF_HIDES_STRUCT set, Doxygen properly handles anonymous
structs and enums that are typedef'd. file: [e28a8564db] check-in: [2fcf5a3052] user: js branch: trunk, size: 11676

2021-04-25
16:20
OFSecureData: Move chunkSize into #ifdef file: [cd41ef981c] check-in: [b648c7090f] user: js branch: trunk, size: 11674
2021-04-19
21:54
Rename a few more constants file: [5d9cdb9d33] check-in: [458420998c] user: js branch: new-naming-convention, size: 11665
2021-04-17
22:45
Rename of_(re)alloc and add OFFreeMemory file: [642a5fcb6b] check-in: [498074dab9] user: js branch: new-naming-convention, size: 11686
14:36
of_file_handle_t -> OFFileHandle file: [9e3c48245d] check-in: [94ebfb3671] user: js branch: new-naming-convention, size: 11665
14:19
of_offset_t -> OFFileOffset file: [797fa66d60] check-in: [e69db838d9] user: js branch: new-naming-convention, size: 11693
2021-03-07
02:36
Style change: Allow more than 1 argument per line

This is only migrating some places, others will be migrated as they are
touched. file: [1933c9d596] check-in: [a0fd103a0b] user: js branch: trunk, size: 11690

2021-01-13
18:15
Define _LARGEFILE64_SOURCE where necessary file: [6c6cb9f3db] check-in: [d67734339a] user: js branch: trunk, size: 11763
2021-01-02
22:04
Update copyright file: [ea0a6a975e] check-in: [374e1a1bfa] user: js branch: trunk, size: 11734
2020-11-14
12:23
Rename of_malloc and of_calloc

The new names should be more accurate. file: [23492381a4] check-in: [627511b032] user: js branch: trunk, size: 11823

2020-11-04
23:18
Remove of_free()

While it makes sense to wrap malloc and calloc to replace the error
checking with exceptions, it does not make sense to wrap free. file: [edd10634f5] check-in: [3d8286feee] user: js branch: trunk, size: 11824

2020-10-25
23:33
Add of_{malloc,calloc,realloc,free} file: [211e9ba002] check-in: [d0ae3bfd6c] user: js branch: trunk, size: 11830
2020-05-17
14:08
Add support for non-Unicode Windows in all classes file: [14d95d3e71] check-in: [494acfb3e0] user: js branch: trunk, size: 11920
2020-01-14
00:16
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. file: [1f08d5d8ea] check-in: [3b43d51006] user: js branch: trunk, size: 11853

2020-01-02
01:51
Update copyright file: [8a16e3648e] check-in: [c7f0229795] user: js branch: trunk, size: 11756
2019-12-09
00:49
Fix compilation on FreeBSD file: [7066f87c86] check-in: [f39368efd8] user: js branch: trunk, size: 11753
2019-08-18
20:04
Small optimization for of_once() file: [e53f8eae67] check-in: [47f08207d7] user: js branch: trunk, size: 11760
2019-08-10
02:06
Clean up the AmigaOS 4 library mess file: [eb447a10e1] check-in: [3292a6fdbc] user: js branch: trunk, size: 11753
2019-04-21
09:58
Fix compilation on AmigaOS 4 with 53.30 SDK file: [8652eb3c8f] check-in: [50a6ffd4b1] user: js branch: trunk, size: 12456
2019-03-08
00:35
Use dot syntax file: [8a440b67d1] check-in: [bceb7ed4c9] user: js branch: trunk, size: 12436
2019-01-03
19:13
Update copyright file: [ce755e8542] check-in: [0509d7a844] user: js branch: trunk, size: 12444
2018-08-17
01:17
AmigaOS 4: Do not use libauto

libauto loads the libraries too late. file: [4a58ba6ba6] check-in: [d71abc5366] user: js branch: trunk, size: 12438

2018-08-16
22:33
Fix compilation for AmigaOS 4 file: [41ccc7307b] check-in: [7413f500db] user: js branch: trunk, size: 11754
2018-07-28
18:45
Rename OFLocalization -> OFLocale file: [0bea227955] check-in: [aa0384d1bf] user: js branch: trunk, size: 11403
2018-05-26
14:49
Remove #define INTUITION_CLASSES_H hack

This has been fixed upstream in amiga-gcc. file: [9880062333] check-in: [b31bd48f90] user: js branch: trunk, size: 11427

2018-05-13
19:24
platform.h: Rename OF_AMIGAOS3 to OF_AMIGAOS_M68K

The reason for this is that, in theory, this also supports versions
older than 3. file: [994cdd90a3] check-in: [5831626f68] user: js branch: trunk, size: 11489

2018-04-23
22:19
Use more native AmigaOS APIs on AmigaOS 3 file: [8331bd9e6b] check-in: [b16fc262c0] user: js branch: trunk, size: 11485
2018-04-22
16:13
runtime: Define BOOL to be the same as bool

As we define the ABI, we can just replace BOOL with bool everywhere,
including in ObjFW itself. For the Apple platforms where BOOL and bool
are different, this is not a problem as BOOL and bool are passed and
returned the same way in the ABI.

This still defines BOOL to bool for compatibility, except on AmigaOS and
Wii, which both have its own BOOL type. file: [77e3c3a21e] check-in: [fe2cbe0021] user: js branch: trunk, size: 10973

2018-02-25
17:16
No self = [self init…] with self-releasing @catch

When using self = [self init…], this already releases self on an
exception, so using it inside of a @try / @catch block that releases
self would lead to a double-release. file: [1cab20f522] check-in: [81156ee75a] user: js branch: trunk, size: 11009

2018-01-03
19:49
Update copyright notice file: [0526f78e96] check-in: [7e5c81e186] user: js branch: trunk, size: 10920
2017-10-29
01:48
Add +[OFFile fileWithURL:mode:] file: [653ec63148] check-in: [ec1ec2815d] user: js branch: trunk, size: 10897
2017-10-17
00:33
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. file: [3ace3f34b9] check-in: [2f4e0df8be] user: js branch: trunk, size: 10411

2017-09-24
12:24
OFStream: Add support for async writes file: [cd9a853dd9] check-in: [481225349f] user: js branch: trunk, size: 10369
2017-08-02
20:23
OFFile: Remove the b modes from MorphOS

This was an oversight when the b modes were removed. file: [44dc0ec6b9] check-in: [18d04d2fd4] user: js branch: trunk, size: 10526

2017-07-22
23:04
OFFile: Simplify mode

This removes "b" for binary and always uses binary, as there is no good
reason to not use binary. file: [afef5a8ffe] check-in: [23e57c5040] user: js branch: trunk, size: 11065

20:50
Split OFDataArray into OFData and OFMutableData file: [4ff8100249] check-in: [c8f7b90082] user: js branch: trunk, size: 11687
2017-06-12
22:29
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. file: [72431db710] check-in: [2ae01218ef] user: js branch: trunk, size: 11711

2017-06-11
02:34
OFFile: Rework handle on MorphOS

The previous one didn't work, as the index was part of the handle, but
the index could change. file: [b2ec5b887b] check-in: [a9b2bd12eb] user: js branch: trunk, size: 11334

2017-06-05
17:36
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. file: [89ce8091b7] check-in: [4f36894ce7] user: js branch: trunk, size: 11089

15:51
OFStream: Don't throw when at end of stream

Instead, let reads return 0 and let writes append after the end. file: [c3e373372b] check-in: [f9cd4f9cab] user: js branch: trunk, size: 10565

2017-06-04
18:48
Treat MorphOS + ixemul as a separate platform

This reduces the ifdef hell and makes much more sense, as with ixemul,
no native calls are allowed. file: [4cea821d7a] check-in: [c9621825fc] user: js branch: trunk, size: 10653

18:16
OFFile: Make sure to not leak handles on MorphOS file: [9167fd4ad1] check-in: [1ffd8f9f16] user: js branch: trunk, size: 10840
17:39
OFFile: Better abstraction of file handle

As a nice side effect, this adds a designated initializer to OFFile. file: [1d857a1710] check-in: [29403cc56a] user: js branch: trunk, size: 10096

2017-06-03
16:58
Make sockets work on MorphOS + libnix file: [c22a9c9657] check-in: [3cba61d694] user: js branch: trunk, size: 10382
14:37
OFFileManager: Mask modes to ensure safe modes file: [bdbdd5f20c] check-in: [4175b93242] user: js branch: trunk, size: 10498
2017-05-30
22:01
MorphOS: Name variable handle instead of fd file: [e2526b07ea] check-in: [c5c3df3abe] user: js branch: trunk, size: 10701
2017-05-28
21:29
OFFile: Use AmigaDOS API on MorphOS + libnix file: [08f6a9dc6a] check-in: [7a0f290eae] user: js branch: trunk, size: 9943
2017-05-27
10:33
Add unistd.h wrapper to make things less horrible file: [20677504a4] check-in: [d31ec806ef] user: js branch: trunk, size: 6661
10:08
Make things work with glibc 2.17 and Clang 3.4.2 file: [cf06285f59] check-in: [ec36a82d68] user: js branch: trunk, size: 6825
2017-05-22
23:31
Make includes of unistd.h and fcntl.h conditional file: [867ccc3495] check-in: [1287e77e04] user: js branch: trunk, size: 6682
2017-05-07
20:10
Small code style change

Casts are now written like types in variable declarations. file: [018b6789b8] check-in: [4af49a13c3] user: js branch: trunk, size: 6625

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [c9a19755a7] check-in: [44f45c2e35] user: js branch: trunk, size: 6619

06:26
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. file: [6d0086e491] check-in: [06bcb21fc7] user: js branch: trunk, size: 6613

2016-06-07
22:56
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. file: [70abf75d98] check-in: [1de551cb5f] user: js branch: trunk, size: 6627

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [adc8a96b76] check-in: [cec0f072f8] user: js branch: 0.8, size: 26724

00:41
Update copyright

While at it, also update the mail address. file: [a34749abe1] check-in: [2a27cf3000] user: js branch: trunk, size: 6610

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [1adeb95012] check-in: [1ba08eebc5] user: js branch: trunk, size: 6606
2015-10-04
11:33
Better length checks for write / send calls file: [8dedd52409] check-in: [ad4e727d5b] user: js branch: 0.8, size: 26720
11:30
Better length checks for write / send calls file: [b4e2a23749] check-in: [fc73801932] user: js branch: trunk, size: 6565
2015-10-03
14:24
Add missing include for Nintendo DS file: [768cc854c3] check-in: [da601d2a8a] user: js branch: 0.8, size: 26644
14:23
Add missing include for Nintendo DS file: [568732b489] check-in: [a83e398ae4] user: js branch: trunk, size: 6489
2015-08-22
10:57
Move file management to its own class

This makes it possible to add support for delegates for file management
operations and on top makes it easier to add support for file management
operations on URLs. file: [9fe26dc5db] check-in: [f3c452dfef] user: js branch: trunk, size: 6467

10:15
Fix compilation for an uncommon define combination file: [da1fb6d2d1] check-in: [dec1a50bb0] user: js branch: 0.8, size: 26622
2015-05-14
09:58
Clean up a few file and socket related checks file: [2c4c5b7c7a] check-in: [b37fdafac1] user: js branch: trunk, size: 26574
2015-04-11
11:03
Add OFStatItemFailedException file: [9e0e30b9e9] check-in: [37e62aef05] user: js branch: trunk, size: 26574
11:01
OFOpenFileFailedException: Rename File -> Item file: [30073c03ef] check-in: [ff17b98ab2] user: js branch: trunk, size: 26756
2015-03-22
10:10
OFFile: Add methods for [ac]time, rename for mtime file: [2b8886285e] check-in: [d6ab9e2c62] user: js branch: trunk, size: 26887
2015-02-23
00:19
OFSystemInfo: Add methods to check CPU features file: [804562284b] check-in: [a7ebc72ac7] user: js branch: trunk, size: 26005
2015-02-16
08:39
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. file: [43dd30c121] check-in: [62e2de30b9] user: js branch: trunk, size: 26006

2015-01-17
22:41
Use 64 bit file offsets file: [864c3ff8dd] check-in: [c409a0ec95] user: js branch: trunk, size: 23530
2015-01-03
20:57
Update copyright file: [73987ccc68] check-in: [cfd374b906] user: js branch: trunk, size: 22816
20:42
Introduce and use of_offset_t instead of off_t

The reason for this is that some systems, for example Android, use
32 bits for off_t while having size related fields like st_size as
long long. file: [10eb8531ab] check-in: [46b89b1c8e] user: js branch: trunk, size: 22810

2014-12-13
16:52
Use CLOEXEC for files and sockets file: [752c197aa2] check-in: [06d2de4571] user: js branch: trunk, size: 22868
2014-10-04
21:59
Add +[OFSystemInfo native8BitEncoding]

This replaces +[OFString nativeOSEncoding]. file: [aaab12c640] check-in: [ec66e49dca] user: js branch: trunk, size: 22799

2014-08-06
00:04
Use readdir_r or fall back to readdir + lock file: [10bc91c172] check-in: [a07e980793] user: js branch: trunk, size: 22626
2014-06-21
21:43
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. file: [282630ecb7] check-in: [13ee56edf3] user: js branch: trunk, size: 21767

2014-05-29
21:27
Work around __block being used by old glibc file: [5df3b4edba] check-in: [d1e559b643] user: js branch: trunk, size: 21811
2014-05-15
01:50
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. file: [f31c61d4b5] check-in: [17be12b6e5] user: js branch: trunk, size: 21720

01:49
OFFile: Add support for the C11 "x" modes file: [70aebcaeb2] check-in: [d7728534a4] user: js branch: trunk, size: 21870
2014-04-27
19:34
Initial Nintendo DS port file: [8a5121abb8] check-in: [cd0a632472] user: js branch: trunk, size: 21467
2014-04-26
00:40
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. file: [c90f56e169] check-in: [4e59d2692f] user: js branch: trunk, size: 21261

2014-04-14
00:45
Coding style

No functional change intended. file: [fd77a17f17] check-in: [9da9b2b64c] user: js branch: trunk, size: 20661

2014-02-28
00:41
Make MinGW32 and MinGW-w64 happy at the same time file: [4ef14749f7] check-in: [5ca844dd3b] user: js branch: trunk, size: 20593
2014-02-23
21:04
Increase _POSIX_C_SOURCE and _XOPEN_SOURCE

FreeBSD needs this. file: [419342bfc8] check-in: [30f95ecdf5] user: js branch: trunk, size: 20592

2014-02-20
15:40
Restore _POSIX_C_SOURCE

OS X needs this. file: [eec4f1303b] check-in: [e30269f87e] user: js branch: trunk, size: 20593

2014-02-19
11:18
Fix compilation on NetBSD file: [da59370303] check-in: [a3a157e52d] user: js branch: trunk, size: 20561
2014-02-13
23:26
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. file: [3c2eb32352] check-in: [2f5af58573] user: js branch: trunk, size: 20567

2014-02-12
15:45
OFFile: Reset isAtEndOfStream on seek file: [08425887c5] check-in: [0b0950c299] user: js branch: trunk, size: 20534
03:17
Fix compilation with mingw32 file: [8e458eea83] check-in: [fab07a40ca] user: js branch: trunk, size: 20508
2014-01-25
17:39
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). file: [79751d7dbc] check-in: [8d2a5052fd] user: js branch: trunk, size: 20463

2014-01-16
23:38
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). file: [71494b29e0] check-in: [e54c8c0368] user: js branch: trunk, size: 20463

2014-01-04
00:24
Update copyright. file: [39f8827d12] check-in: [3b97fc3cd9] user: js branch: trunk, size: 20244
2013-12-15
17:57
OFFile: Code cleanup. file: [2af7091a44] check-in: [09d0cd7ac5] user: js branch: trunk, size: 20238
17:56
OFFile: Require a full path for (sym)links.

This was forgotten when copy and move were changed. file: [e46a299ae7] check-in: [feaf3faad5] user: js branch: trunk, size: 20519

14:57
OFFile: Clean up the stat mess. file: [17aa806995] check-in: [ce99d76d79] user: js branch: trunk, size: 20953
2013-12-11
23:53
Add +[OFFile moveItemAtPath:toPath:].

This replaces +[OFFile renameItemAtPath:toPath:] and supports moving
files to different logical devices. file: [95c6f11fb5] check-in: [260391fc1c] user: js branch: trunk, size: 21737

22:26
+[{copy,rename}ItemAtPath...]: Require full path. file: [726f0b6ba9] check-in: [242fd56445] user: js branch: trunk, size: 20862
22:19
+[copyFileAtPath:toPath:]: Never override items. file: [d5e09aa3e8] check-in: [ba57490ba6] user: js branch: trunk, size: 21296
2013-12-09
23:35
+[OFFile removeItemAtPath:]: Remove recursively. file: [4da01770ca] check-in: [3c2d173940] user: js branch: trunk, size: 21434
23:24
+[OFFile copyFileAtPath:toPath:]: Win32 stuff.

Also slightly decreases memory footprint. file: [952a84375d] check-in: [aefb143a8d] user: js branch: trunk, size: 20432

22:19
Add +[OFFile copyItemAtPath:toPath:].

This replaces +[OFFile copyFileAtPath:toPath:]. file: [0ee3c33822] check-in: [169f06e1ec] user: js branch: trunk, size: 20239

22:08
Add +[OFFile symbolicLinkExistsAtPath:]. file: [9780f15c6e] check-in: [f193f3fa8c] user: js branch: trunk, size: 18083
22:07
Fix createSymbolicLinkAtPath:withDestinationPath:.

The arguments were inverted. file: [0e60eafa58] check-in: [ba2b4661de] user: js branch: trunk, size: 17758

2013-12-05
17:48
Make coding style consistent.

A file documenting the coding style will be written soon. This will
hopefully prevent conflicts in the future, such as whether static
functions are written in camelCase or_with_underscores, like was the
case here. file: [c8979c52b6] check-in: [fa6496efc7] user: js branch: trunk, size: 17758

2013-11-23
01:12
Add OF_INVALID_INIT_METHOD. file: [65676b97b5] check-in: [35dafd5c57] user: js branch: trunk, size: 17760
2013-09-17
16:12
Work around Android bugs.

Includes:
* Check environ against NULL before using it, since Android sets it to
NULL.
* Cast st_size of struct stat to off_t. Android uses long long for
st_size as its off_t is only 32 bit, but st_size should be off_t
according to POSIX.
* Android's strtod() does not accept 0x, as specified by C99. Thus,
the test is disabled if __ANDROID__ is defined. file: [1f1aa20392] check-in: [c5e7dd679b] user: js branch: trunk, size: 17848

2013-08-14
19:28
Rename -[initWith*Path:] to -[initWithPath:]. file: [6d3006c532] check-in: [0abd116830] user: js branch: trunk, size: 17774
19:17
+[stringWithPath:] -> +[pathWithComponents:].

This removes -[initWithPath:,...], so that it's finally possible to use
-[initWithPath:] for many places where a workaround like
-[initWithDirectoryPath:] was required before. file: [e0f0d0594a] check-in: [7c4179ab9b] user: js branch: trunk, size: 17802

2013-08-12
13:26
Fix OFSeekableStream.

-[seekToOffset:whence:] now works correctly when whence is SEEK_CUR.
Additionally, the new offset is returned now. file: [f060fd2dab] check-in: [d101b6f8b4] user: js branch: trunk, size: 17665

2013-07-09
22:17
OFFile: Rename +[createSymbolicLinkAtPath:…]. file: [bace7b9989] check-in: [8e48f0d6a4] user: js branch: trunk, size: 17630
2013-07-08
22:20
OFFile: Check arguments for nil. file: [cbc105e33a] check-in: [b4ebcc74b1] user: js branch: trunk, size: 17623
2013-06-28
19:15
Rename methods to prevent signature conflicts.

This only affects exceptions. file: [0c8ee7ced6] check-in: [f3654b5cc6] user: js branch: trunk, size: 16449

2013-06-27
09:38
Improve OFFile API. file: [469d33eabc] check-in: [20a5c3d547] user: js branch: trunk, size: 16405
2013-06-22
12:12
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. file: [d114dfb10e] check-in: [3d16a30f41] user: js branch: trunk, size: 16168

2013-04-27
21:51
OFFile: Don't use fchmod().

It's not available on all systems which have chmod(). file: [c7437b1fa1] check-in: [06443a3ae9] user: js branch: trunk, size: 16694

02:22
Initial Wii port.

Threads and sockets still missing. file: [4b255af215] check-in: [2713b481a1] user: js branch: trunk, size: 16668

01:26
Add OFStdIOStream.

This is used for of_std{in,out,err} now instead of OFFile. file: [8a99cd99a6] check-in: [085bfc12a0] user: js branch: trunk, size: 16470

2013-04-26
22:25
Better checks for functions used in OFFile. file: [526afc5ebd] check-in: [c01ed004b0] user: js branch: trunk, size: 18074
2013-03-04
17:20
Replace BOOL with bool.

The only places where BOOL is left are those where they are required by
the ABI. file: [6182cd74e1] check-in: [c5ef582958] user: js branch: trunk, size: 18073

2013-02-12
18:22
Prefix all ivars with an underscore. file: [7a0b90bbf0] check-in: [e40729d406] user: js branch: trunk, size: 18050
2013-02-05
22:24
Move abort() to make old GCCs happy. file: [a15c73b575] check-in: [737a82e1a4] user: js branch: trunk, size: 18045
2013-01-23
21:52
Never compare to @"", use length instead. file: [981d954d73] check-in: [ea4a43461c] user: js branch: trunk, size: 18045
2013-01-13
01:24
OFFile: Make use of _wchmod on Windows.

Actually, this seems to do exactly what was done manually with
{Get,Set}FileAttributesW before. file: [7dcc3acfc8] check-in: [06c0c98e78] user: js branch: trunk, size: 18048

01:19
OFFile: Use _wrename() instead of MoveFileW().

Unlike MoveFileW(), _wrename() sets errno. file: [214e7cf8ea] check-in: [55d99d15e3] user: js branch: trunk, size: 18503

2013-01-12
20:53
Clean up the feature #ifdef mess. file: [9af0a75ec0] check-in: [b8ce2359f3] user: js branch: trunk, size: 18505
17:29
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. file: [25d73bc7b8] check-in: [9ddd33a258] user: js branch: trunk, size: 18480

2013-01-09
22:24
Update copyright. file: [c320611d8a] check-in: [813c00ccf0] user: js branch: trunk, size: 18500
2013-01-08
03:13
Win32: Allow Unicode filenames in file operations. file: [a86cf89293] check-in: [94a9a18106] user: js branch: trunk, size: 18494
2012-12-26
14:10
Add OFSystemInfo. file: [61775ac9b0] check-in: [4b637f8516] user: js branch: trunk, size: 18073
2012-12-22
15:37
Add -[doesNotRecognizeSelector:]. file: [b3c8f30967] check-in: [917ce5754c] user: js branch: trunk, size: 18002
2012-12-15
23:31
OFString: Improved API for getting C strings. file: [136919bb87] check-in: [e2f4c1283c] user: js branch: trunk, size: 18156
2012-10-29
13:03
Simplify seeking. file: [d382f915ee] check-in: [dc1093e2a5] user: js branch: trunk, size: 18128
2012-10-26
11:23
Add OFLocking protocol. file: [ffd2b8da5e] check-in: [7c33158c22] user: js branch: trunk, size: 18938
2012-10-09
15:07
Make use of instancetype. file: [f6bb1bb8aa] check-in: [fb515e8e24] user: js branch: trunk, size: 18994
2012-09-16
15:43
OFStream: Use lowlevel as prefix instead of _. file: [a11a54fb53] check-in: [61c1932caf] user: js branch: trunk, size: 18966
2012-09-12
17:27
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. file: [f9e4a0a447] check-in: [440e95fd4a] user: js branch: trunk, size: 18903

2012-08-20
08:14
A few renames in OFFile. file: [9e887a707d] check-in: [c492171577] user: js branch: trunk, size: 19080
2012-08-10
20:08
Directly use the runtime's autorelease pools.

This greatly improves performance, as it gets rid of the overhead of
OFAutoreleasePool. file: [9427d5f441] check-in: [1255f3a11a] user: js branch: trunk, size: 19053

2012-07-12
01:28
Don't access isa directly. file: [5fa5942d93] check-in: [8892ae9fcc] user: js branch: trunk, size: 19132
2012-06-07
12:03
Rework OFStream API. file: [be7cb0fa5d] check-in: [0d4059306a] user: js branch: trunk, size: 19015
2012-04-20
13:59
Set of_std{in,out,err} in OFFileSingleton.

Referencing subclasses of the current class in +[load] sounds like a bad
idea. file: [69833cd0ab] check-in: [b7cf59038a] user: js branch: trunk, size: 18992

2012-03-17
22:22
Add +[OFFile createDirectoryAtPath:createParents:]. file: [83d1b0c935] check-in: [79183b7fe9] user: js branch: trunk, size: 18992
2012-03-08
23:20
Add +[OFFile sizeOfFile:]. file: [7a546860fc] check-in: [6bcf417920] user: js branch: trunk, size: 18084
2012-01-05
00:56
Update copyright. file: [73d7458af5] check-in: [ce70e17b38] user: js branch: trunk, size: 17779
2011-12-21
20:05
Work around a bug with Clang + glibc. file: [8775f73861] check-in: [8ed8b90cd8] user: js branch: trunk, size: 17773
2011-10-07
11:19
Don't depend on OFMutex in OFFile.

+[load] creates 3 instances of OFFile and thus +[initialize] is also
called. This causes problems if OFMutex has not been registered with
the runtime yet. It had been fixed by changing the order of .o files,
but this is too fragile and thus it has been changed to use of_mutex_t. file: [ec14d28310] check-in: [36434923ad] user: js branch: trunk, size: 17671

2011-10-05
22:39
Fix error checking on reading in OFFile. file: [d95eac9ee4] check-in: [d533c864ab] user: js branch: trunk, size: 17262
2011-09-28
14:38
Various small bugfixes. file: [3604f250d5] check-in: [9e82f99f09] user: js branch: trunk, size: 17245
2011-09-22
23:25
Exceptions are now autoreleased.

This is safe as an "exception loop" can't happen, since if allocating
an exception fails, it throws an OFAllocFailedException which is
preallocated and can always be thrown.

So, the worst case would be that an autorelease of an exception fails,
triggering an OFOutOfMemoryException for which there is no memory,
resulting in an OFAllocFailedException to be thrown. file: [c6a9166c97] check-in: [e1e7ffa903] user: js branch: trunk, size: 17041

2011-09-19
12:34
BOOL naming conventions. file: [689b4e3ed7] check-in: [d43eb177bc] user: js branch: trunk, size: 16862
2011-09-12
19:57
Rename -[cString] to -[UTF8String]. file: [281aa87c5c] check-in: [e6fd39d11e] user: js branch: trunk, size: 16870
2011-09-10
20:35
Declare of_std{in,out,err} as OFStream. file: [20426bd041] check-in: [5adb201b41] user: js branch: trunk, size: 15770
18:36
Remove -[finalize] as ARC will be implemented instead of a GC. file: [478769a586] check-in: [972a3ee40d] user: js branch: trunk, size: 15764
2011-08-07
16:57
Add -[makeImmutable] to all mutable classes and use it. file: [072b46a026] check-in: [927dbf6e7d] user: js branch: trunk, size: 15870
2011-08-03
00:30
Make OFArray an abstract class. file: [24d4055b98] check-in: [a855618045] user: js branch: trunk, size: 15861
2011-07-17
01:55
Define __NO_EXT_QNX in files using unistd.h or fcntl.h.

Without this, the headers try to declare functions that use __block as
an argument name and thus fail to compile when using -fblocks. file: [6ef70328cc] check-in: [59e52af26d] user: js branch: 0.5, size: 14700

01:55
Define __NO_EXT_QNX in files using unistd.h or fcntl.h.

Without this, the headers try to declare functions that use __block as
an argument name and thus fail to compile when using -fblocks. file: [5aa0f12b35] check-in: [da2701ad14] user: js branch: trunk, size: 16089

2011-06-20
19:26
Let -[writeNBytes:fromBuffer:] return void. file: [73e673b29a] check-in: [2a2d5c4c47] user: js branch: trunk, size: 16066
2011-06-16
02:33
-[readNBytes:intoBuffer:] & -[writeNBytes:fromBuffer:] take a void* now. file: [59b3e4b4fd] check-in: [8440a70457] user: js branch: trunk, size: 16106
2011-06-04
15:27
Add missing include. file: [e9530ebde9] check-in: [eef1a8d4ad] user: js branch: 0.5, size: 14677
15:26
Add missing include. file: [e3972b8f3a] check-in: [e5017153bb] user: js branch: trunk, size: 16105
2011-05-29
21:46
Fix 3 typos introduced by style changes. file: [46fd6ac14d] check-in: [4090b00720] user: js branch: trunk, size: 16085
2011-04-24
21:50
Add -[finalize] to all classes which would require it once we have GC. file: [45991e6e84] check-in: [07b3d0e8de] user: js branch: trunk, size: 16084
2011-04-22
20:19
More style improvements. file: [521d39c7c0] check-in: [e76a7f52c1] user: js branch: trunk, size: 15978
18:00
More style improvements. file: [437b42878c] check-in: [4814266280] user: js branch: trunk, size: 16050
2011-03-29
19:28
Work around a compiler bug. file: [696b6c1432] check-in: [0972a6eb56] user: js branch: trunk, size: 14657
2011-03-27
18:07
Add +[currentDirectoryPath] to OFFile. file: [7f0444f958] check-in: [ad8c9974bc] user: js branch: trunk, size: 14628
17:16
Pass offset and whence for OFSeekFailedExceptions. file: [e6cadbff05] check-in: [b940af1dd6] user: js branch: trunk, size: 14476
2011-03-24
21:17
Pass the stream for stream exceptions. file: [941019ae14] check-in: [7ced2e7b6a] user: js branch: trunk, size: 14320
19:42
Get rid of OFExceptions.h. file: [dfa9456896] check-in: [cda44767f4] user: js branch: trunk, size: 14204
2011-03-23
12:58
Make the return type of retainCount unsigned int.
This way, the OFObject protocol is compatible to NSObject.
file: [80c543eb4d] check-in: [8de8df50e9] user: js branch: trunk, size: 13634
2011-03-22
13:10
Move path methods from OFFile to OFString. file: [3a17566619] check-in: [67e7d1e222] user: js branch: trunk, size: 13617
2011-02-26
19:40
Use class swizzling as an optimization. file: [23bde42f6d] check-in: [06f539766f] user: js branch: trunk, size: 16344
14:27
of_std{in,out,err} don't support seeking. file: [9d8d131cd6] check-in: [9160269d5f] user: js branch: trunk, size: 15858
2011-02-09
19:34
More changes to port ObjFW to PSP. file: [c76530e6dd] check-in: [33f646ce2d] user: js branch: trunk, size: 15467
18:55
Initial PSP port.

Does compile with --disable-threads --disable-shared, but does not link
yet. file: [ab8f876cd6] check-in: [d230ac577d] user: js branch: trunk, size: 15396

2011-02-01
22:18
Show milliseconds in of_log output. file: [719e5e7862] check-in: [f3bfba9d06] user: js branch: trunk, size: 15350
14:27
Add of_log for easy logging to stderr.

Uses OFConstantString* for the format to prevent users from doing stupid
things like of_log([of_stdin readLine]). file: [00f92e27f7] check-in: [17338ef1d5] user: js branch: trunk, size: 15273

2011-01-01
20:19
Change license. file: [946463e8bc] check-in: [da6b3d26cb] user: js branch: trunk, size: 14723
2010-12-28
22:18
Make ObjFW work again without threads and without atomic ops. file: [b9fdcbe5c3] check-in: [88c920bd62] user: js branch: trunk, size: 14467
2010-12-25
23:29
Add +[OFFile modificationDateOfFile:] and change -[OFDate description]. file: [0713e735b4] check-in: [2d8533a428] user: js branch: trunk, size: 14329
2010-12-23
18:16
Add +[componentsOfPath:] and +[directoryNameOfPath:] to OFFile. file: [527617a46d] check-in: [1e52247065] user: js branch: trunk, size: 13946
2010-12-20
21:41
Add +[changeToDirectory:] to OFFile. file: [213cb19bf6] check-in: [4cf3648097] user: js branch: trunk, size: 12275
2010-12-13
23:32
OFFile: Accept usernames and groupnames instead of UIDs and GIDs. file: [71e165dd8a] check-in: [bc3cdb9ee9] user: js branch: trunk, size: 12115
2010-12-11
20:27
Rename a few exception-related methods. file: [fc04feb323] check-in: [5e44debc07] user: js branch: trunk, size: 11147
2010-12-10
11:21
Documentation fixes. file: [d71ec31613] check-in: [fada60d54c] user: js branch: trunk, size: 11133
2010-10-25
23:03
Clean up a lot of code (mostly init methods) and fix a missing rethrow. file: [d06bb2b5c9] check-in: [8a7ca573c4] user: js branch: trunk, size: 11197
2010-10-24
13:15
Rename a few methods returning BOOL. file: [9c2025e097] check-in: [b6a39dd3d1] user: js branch: trunk, size: 11142
2010-07-07
20:46
Add -[fileDescriptor] to OFStream. file: [1cd28fbc32] check-in: [9d064462a3] user: js branch: trunk, size: 11138
2010-05-02
16:16
Win32 compatibility for the new file operations. file: [bf7134d6ef] check-in: [66b3f09fc0] user: js branch: trunk, size: 11099
2010-04-23
12:50
Improve link, symlink and rename operations in OFFile. file: [963472770a] check-in: [34991b40af] user: js branch: trunk, size: 10824
2010-04-22
09:05
Add OF_PATH_DELIM to macros.h. file: [8e533c3fc6] check-in: [d931239e25] user: js branch: trunk, size: 10349
2010-04-21
07:15
Add +[copyFileAtPath:toPath:] and +[deleteDirectoryAtPath:] to OFFile. file: [9c28a1ea8f] check-in: [d92e0d0313] user: js branch: trunk, size: 10402
2010-04-18
13:53
Add +[lastComponentOfPath:] to OFFile. file: [b686c0a44c] check-in: [2727e4282f] user: js branch: trunk, size: 9345
2010-04-17
21:43
Better method names for file- and stream-related exceptions. file: [87ff6efbc7] check-in: [1f19713fd3] user: js branch: trunk, size: 8712
16:55
More consistency in names of file operations. file: [f9f8e25035] check-in: [2eb2172a96] user: js branch: trunk, size: 8691
15:46
Don't return self where not necessary, return void or something useful. file: [831a79cc1f] check-in: [062a052b50] user: js branch: trunk, size: 8705
2010-04-15
17:19
Win32 version of OFFile's +[filesInDirectoryAtPath:]. file: [fef21b43fd] check-in: [c4f5d6f491] user: js branch: trunk, size: 8723
08:43
Add +[createDirectoryAtPath:] to OFFile. file: [b3c752e8de] check-in: [2ef0a01201] user: js branch: trunk, size: 8009
08:11
Add +[directoryExistsAtPath:] and +[filesInDirectoryAtPath:] to OFFile. file: [9b3c83ec11] check-in: [8d84aa00aa] user: js branch: trunk, size: 7775
2010-04-11
20:41
Better names for a few file operations. file: [193ba08435] check-in: [5f222e25a7] user: js branch: trunk, size: 6820
20:12
Add +[fileExistsAtPath:] to OFFile. file: [c32b62d50c] check-in: [ebd1fc0d9a] user: js branch: trunk, size: 6757
2010-04-10
21:35
Add a few defines that Win32 needs. file: [112f36f53a] check-in: [5dc16f28aa] user: js branch: trunk, size: 6590
2010-04-09
15:12
Add OFSeekableStream and implement seeking for OFFile. file: [a4ba59f372] check-in: [0890f73f75] user: js branch: trunk, size: 6505
14:59
Better hiding of the internal OFStream methods. file: [77172f2547] check-in: [2a9e91b67c] user: js branch: trunk, size: 5998
00:55
Add an optional write cache to OFStream. file: [a377c2db9b] check-in: [66c1d7718d] user: js branch: trunk, size: 6039
2010-04-03
01:47
Pass a default mode to open(). file: [d214a82c1c] check-in: [0c99c954e2] user: js branch: trunk, size: 6022
2010-04-02
15:58
Use open() / read() / write() instead of fopen() / fread() / fwrite().

This fixes reading from stdin. file: [cdb8ca685b] check-in: [5f4f207266] user: js branch: trunk, size: 5948

2010-03-15
14:10
Prevent double-closing in OFFile. file: [778d1b4971] check-in: [08769cce4e] user: js branch: trunk, size: 4914
2010-02-19
16:36
Update copyright. file: [9b7c94885a] check-in: [42886185fd] user: js branch: trunk, size: 4896
2010-02-11
14:58
Documentation improvements. file: [8e229b8d40] check-in: [72caeab860] user: js branch: trunk, size: 4896
2010-01-30
14:26
Don't define methods unavailable on Windows. file: [95e5eb4c36] check-in: [c9e9ea561c] user: js branch: trunk, size: 4791
2010-01-29
15:21
Make retain count int32_t. file: [f0b3a13578] check-in: [b725e983ae] user: js branch: trunk, size: 5100
2010-01-25
15:22
Make retain counter 32 bit due to atomic ops being 32 bit. file: [5dcf811aa9] check-in: [831ebcd4f5] user: js branch: trunk, size: 5102
2010-01-16
15:05
Reduce dependencies between headers. file: [cfa00f6d8b] check-in: [1433aef0d0] user: js branch: trunk, size: 5098
2009-12-23
22:38
Throw an exception when trying to use chown on Windows. file: [456747264b] check-in: [6cd75d4826] user: js branch: trunk, size: 5077
2009-12-03
18:50
Make OFStream caching invisible to the programmer. file: [ea32f092c7] check-in: [fc0b2500b9] user: js branch: trunk, size: 4989
2009-11-15
01:39
Improve OFFile and add a few new exceptions. file: [9c9c1d09c4] check-in: [5cb7f93a1f] user: js branch: trunk, size: 5533
2009-11-09
22:45
Rename libobjfw to ObjFW. file: [9f7f9d7344] check-in: [a3cc34b139] user: js branch: trunk, size: 4859
2009-10-15
20:38
Full Unicode support for OFMutableString's -[upper] and -[lower]. file: [12d8e10088] check-in: [0480a27d5e] user: js branch: trunk, size: 4862
2009-09-27
14:23
Add -[initWithFilePointer:] to OFFile. file: [eabe2a45bb] check-in: [3cf27e00c4] user: js branch: trunk, size: 4869
2009-08-16
13:28
Add OF{Link,Symlink}FailedException. file: [dcca7be75f] check-in: [35d9dbcd6f] user: js branch: trunk, size: 4736
2009-07-19
17:02
Prevent one more wrong call to an init method. file: [b0b9385012] check-in: [95aa3a147e] user: js branch: trunk, size: 4361
16:01
Prevent calling -[init] if parameters are required. file: [e3abf581b8] check-in: [42e16978dc] user: js branch: trunk, size: 4218
14:05
Rename andFoo: to foo: in all methods. file: [4d9a49c8b5] check-in: [4eae61a78f] user: js branch: trunk, size: 4125
2009-06-15
19:22
Remove whitespaces at EOL. file: [9a531e1b8b] check-in: [172e662b71] user: js branch: trunk, size: 4153
2009-06-06
14:10
Add OFFile singletons for stdin, stdout and stderr. file: [5ce65f3f89] check-in: [f285996b91] user: js branch: trunk, size: 4154
2009-06-02
19:25
Improve -[readLine] in OFStream. file: [c2c38ca999] check-in: [f1dae95070] user: js branch: trunk, size: 3153
2009-05-29
09:28
Always use [self alloc]. file: [a323ff36d0] check-in: [282aadb9df] user: js branch: trunk, size: 3151
2009-05-24
18:04
Always use #include "config.h" instead of #import "config.h". file: [2ae784c3e4] check-in: [94ea6848a8] user: js branch: trunk, size: 3153
2009-05-15
20:01
Use OFString as much as possible. file: [c917d0f228] check-in: [67066be692] user: js branch: trunk, size: 3152
2009-05-13
20:31
Rename - free to - (void)dealloc. file: [57318981b1] check-in: [9e6dd00ef5] user: js branch: trunk, size: 3084
2009-04-22
22:17
Better handling of closed and ended files in OFFile. file: [3e41bb8976] check-in: [b13a0f08e7] user: js branch: trunk, size: 3076
2009-04-21
17:16
The if ((self = [super init])) construct isn't needed anymore. file: [164c881033] check-in: [d87df02e8b] user: js branch: trunk, size: 2923
2009-04-19
20:34
Use isa instead of [self class].

Since we don't use Object anymore and define isa in OFObject, we can
rely on it. file: [de67b84ef2] check-in: [139591afe1] user: js branch: trunk, size: 2939

2009-04-09
13:55
Use char* instead of uint8_t* for OFStreams and OFHashes.
This way, less casts are needed when using C libraries.
file: [08cbbc44cd] check-in: [722b6213c0] user: js branch: trunk, size: 2966
2009-04-07
15:44
Returning newly allocated buffers on reading is a bad idea.
The programmer might forget that some of the data is arbitrary because
there was less data than he requested which might lead to serious
problems.
file: [2951d584dc] check-in: [09e6b3fc7b] user: js branch: trunk, size: 2994
2009-02-14
17:26
Always use #include for libc headers due to glibc being broken.
Do the same for win32 headers, just in case. They should work with
#import, but you never know ;).
file: [68e15040b2] check-in: [029511474c] user: js branch: trunk, size: 3393
2009-01-24
20:28
[self alloc] isn't a good idea with the new API.
The reason is that a derived class, for example derived from OFArray,
would not return an OFArray when + arrayWithItemSize is called.
file: [637ff38638] check-in: [7feac9e596] user: js branch: trunk, size: 3388
15:24
Adjust API to introduction of OFAutoreleasePool. file: [f8ec01874b] check-in: [1496808b81] user: js branch: trunk, size: 3386
2009-01-05
00:59
Update copyright. file: [3489cc9954] check-in: [f1b749d113] user: js branch: trunk, size: 3318
2009-01-04
01:40
Clean up exceptions. file: [1e28d0f42f] check-in: [bb1fe89478] user: js branch: trunk, size: 3311
2008-12-23
03:59
Remove spaces and tabs at end of line. file: [d2aa51b6f7] check-in: [7d7b89d775] user: js branch: trunk, size: 3237
2008-12-14
02:01
Define functions unavailable on win32 and nop them there. file: [ade2f827ca] check-in: [61bbbc20ff] user: js branch: trunk, size: 3238
2008-12-13
19:25
Initial attempt to port to win32. file: [8a9dff998b] check-in: [142572f90b] user: js branch: trunk, size: 3279
2008-12-11
13:43
Remove - close from OFStream protocol.
The reason is that closing a file isn't too useful, because an OFFile
object can't be reused, whereas an OFTCPSocket can. So only the
OFTCPSocket should have closed. Plus, we don't need to handle the case
that someone tried to read from / write to a closed OFFile.
file: [e3b833eee4] check-in: [c83137e7cd] user: js branch: trunk, size: 3186
2008-12-10
17:53
Always use [self alloc] in + new.
This way, derivated classes are not forced to always override + new.
file: [0b28d6c4b4] check-in: [f48ee629e3] user: js branch: trunk, size: 3280
2008-12-09
17:36
Don't use - raise anymore, but @throw.
- raise was only because at first, exceptions were self-raising, but
this was later changed so they had to be risen manually. - rise was
introduced for that, but it would've been better to use @throw
directly. Thus, this change now.
file: [88173cbff8] check-in: [d88aec8e95] user: js branch: trunk, size: 3282
2008-12-07
10:35
Add - close to OFStream. file: [249d4d336a] check-in: [657fae20a4] user: js branch: trunk, size: 3291
03:06
Remove writeWideCString as that's a bad idea.

Endianess, size etc. may differ from system to system. While this might
be ok when writing files that are only read local again, this is
definitely not ok with sockets. So it's better to remove it from the
OFStream protocol. file: [44934e3ad8] check-in: [70874cf3c5] user: js branch: trunk, size: 3196

02:59
glibc is broken once again. I guess no other libc is that broken... file: [9d35a4ce1a] check-in: [6d069e2a83] user: js branch: trunk, size: 3417
02:53
Add writeCString and writeWideCString to OFStream. file: [5d576a9538] check-in: [6ed7c33611] user: js branch: trunk, size: 3377
02:35
Add inital OFSocket class. file: [ecb56994e1] check-in: [ba7219b1b6] user: js branch: trunk, size: 3023
2008-12-06
15:22
Change OFFile API, add OFStream protocol. file: [af02f63c5b] check-in: [f32e7ed452] user: js branch: trunk, size: 3042
2008-11-30
15:17
Clean up imports. file: [1bbfec1dfa] check-in: [4b8666fe15] user: js branch: trunk, size: 2691
2008-11-06
16:06
Even more documentation. file: [c1131eae69] check-in: [89c545c3e9] user: js branch: trunk, size: 2709
2008-11-01
22:20
Some exception stuff & withSize -> ofSize for OFObject. file: [6b6d44b5bf] check-in: [9944a6f8a4] user: js branch: trunk, size: 2614
2008-10-29
17:29
Add getMemForNItems:withSize: & resizeMem:toNItems:withSize: in OFObject

Additionally, interface for OFArray. file: [b1dd678aec] check-in: [49859c2bcc] user: js branch: trunk, size: 2651

2008-10-28
19:00
Better overflow checking. file: [d80678a165] check-in: [2aaab788cc] user: js branch: trunk, size: 2787
2008-10-26
02:45
Add OFHashes. Only MD5 so far. file: [2d25231c0e] check-in: [9a0cc3bc23] user: js branch: trunk, size: 2846
2008-10-25
23:59
Cleaner return in atEndOfFile. file: [4069e4ea59] check-in: [14c872dbfd] user: js branch: trunk, size: 2724
2008-10-09
00:25
Multiple changes, see details.

* Use config.h.
* Check whether to use sel_get_name or sel_getName.
* Rename freeWithData to freeIncludingData. file: [2de0039279] check-in: [7a49441656] user: js branch: trunk, size: 2706

2008-10-08
23:15
Multiple changes, see details.

* OFObject getMem: renamd to getMemWithSize:.
* OFString compare: renamed to compareTo:.
* Exceptions don't throw itself anymore.
* Exceptions include an error string now.
* Exceptions now got raise and string.
* New methods for OFFile:
* changeModeOfFile:toMode:
* changeOwnerOfFile:toOwner:andGroup:
* delete:
* link:to:
* symlink:to:
* OFFile isEndOfFile renamd to atEndOfFile
* OFNotImplementedExeception newWithObject:andMethod renamed to
newWithObject:andSelector:.
* Tests updated accordingly.
* TODO list added. file: [ab4b7dd898] check-in: [b597d49f43] user: js branch: trunk, size: 2686

2008-10-07
22:04
#import <stdint.h> was missing. file: [485706b49a] check-in: [1c99e71818] user: js branch: trunk, size: 1943
21:25
OFFile improvements. file: [fca767783e] check-in: [6072f61f83] user: js branch: trunk, size: 1924
17:18
Added: Added OFFile. file: [a6ec8db29d] check-in: [71119a787b] user: js branch: trunk, size: 1240