ObjFW  History of src/OFSystemInfo.m of 9aa3bdbab2e58bd7

History of file src/OFSystemInfo.m at check-in 9aa3bdbab2e58bd7

2024-10-27
23:38
OFSystemInfo: Fix \0 in +[CPUModel] on macOS file: [0061e74320] check-in: [e061c2b66e] user: js, branch: trunk, size: 25251 [annotate] [blame] [check-ins using] [diff]
2024-08-18
12:54
OFSystemInfo: Add +[supportsL(A)SX] file: [4ca3a2659e] check-in: [72c6e67a23] user: js, branch: trunk, size: 25191 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [88de548cfa] check-in: [7413a728a7] user: js, branch: trunk, size: 24877 [annotate] [blame] [check-ins using] [diff]
2024-04-01
15:59
Remove #define __NO_EXT_QNX

It doesn't seem to be needed anymore. file: [17b1ff4e0e] check-in: [cf0effe834] user: js, branch: trunk, size: 24669 [annotate] [blame] [check-ins using] [diff]

2024-03-17
15:57
OFSystemInfo: Add +[wineVersion] file: [d0a8a94e19] check-in: [f050580b33] user: js, branch: trunk, size: 24691 [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:41
Update copyright file: [65259adcff] check-in: [7324ec8590] user: js, branch: 1.0, size: 19858 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [601054135e] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 24255 [annotate] [blame] [check-ins using] [diff]
2023-12-21
15:48
Make GCC happy again file: [158d26e332] check-in: [f53bd1ad2f] user: js, branch: trunk, size: 24255 [annotate] [blame] [check-ins using] [diff]
15:22
OFSystemInfo: Check if the OS enabled SSE support file: [4addcc0e7a] check-in: [1f26898324] user: js, branch: trunk, size: 24120 [annotate] [blame] [check-ins using] [diff]
2023-11-10
01:31
OFSystemInfo: Remove check for SSE support in OS

The check was wrong and would return false on OSes that are SSE-enabled
but not AVX-enabled. file: [81b1425388] check-in: [e7465cd688] user: js, branch: trunk, size: 23296 [annotate] [blame] [check-ins using] [diff]

00:25
OFSystemInfo: Check OS support for SSE/AVX/AVX512 file: [dde9f4593e] check-in: [42efa8c05a] user: js, branch: trunk, size: 23821 [annotate] [blame] [check-ins using] [diff]
2023-11-09
21:09
Use named operands for __asm__ file: [4a5cc32620] check-in: [1b22456db6] user: js, branch: trunk, size: 22349 [annotate] [blame] [check-ins using] [diff]
2023-11-05
10:20
Add +[OFSystemInfo supportsFusedMultiplyAdd] file: [491407fc38] check-in: [dfe5d16047] user: js, branch: trunk, size: 22281 [annotate] [blame] [check-ins using] [diff]
2023-10-30
23:31
OFMatrix4x4: Use 3DNow! for multiplication file: [3c4e0fe6ea] check-in: [5b213166ee] user: js, branch: trunk, size: 22207 [annotate] [blame] [check-ins using] [diff]
2023-10-24
22:15
OFSystemInfo: Add support for more x86 features file: [1b9d36f2fa] check-in: [f993c6757b] user: js, branch: trunk, size: 22173 [annotate] [blame] [check-ins using] [diff]
20:29
OFSystemInfo: Add methods for AVX-512 support file: [3bbb5292e5] check-in: [7899fd79b8] user: js, branch: trunk, size: 21743 [annotate] [blame] [check-ins using] [diff]
2023-10-01
20:23
OFSystemInfo: Check uname() return against -1

Some systems return a positive value, making it look like it failed when
it succeeded when checking != 0. file: [2ae1048a93] check-in: [12e54c754f] user: js, branch: trunk, size: 19858 [annotate] [blame] [check-ins using] [diff]

2023-08-28
23:15
OFSystemInfo: Use cwd for paths on some consoles file: [0621210a4b] check-in: [09e7348b89] user: js, branch: trunk, size: 19856 [annotate] [blame] [check-ins using] [diff]
2023-06-10
19:40
Split out +[OFSystemInfo networkInterfaces] file: [50bc975723] check-in: [ac1baefd27] user: js, branch: trunk, size: 19490 [annotate] [blame] [check-ins using] [diff]
2023-06-08
21:56
+[OFSystemInfo networkInterfaces]: Fix typo file: [faa68bcb9a] check-in: [b1dd8e5d0e] user: js, branch: trunk, size: 29507 [annotate] [blame] [check-ins using] [diff]
21:20
+[OFSystemInfo networkInterfaces]: Cast for Amiga file: [215ce48f3e] check-in: [eec964a1d7] user: js, branch: trunk, size: 29507 [annotate] [blame] [check-ins using] [diff]
21:17
+[OFSystemInfo networkInterfaces]: Add IPX file: [0557c5219a] check-in: [ce6b0f02cf] user: js, branch: trunk, size: 29499 [annotate] [blame] [check-ins using] [diff]
21:03
+[OFSystemInfo networkInterface]: Fix some BSDs file: [7301636c5f] check-in: [d4ea9e536c] user: js, branch: trunk, size: 28958 [annotate] [blame] [check-ins using] [diff]
2023-06-06
23:42
+[OFSystemInfo networkInterfaces]: Windows support file: [fabe0e6c7e] check-in: [ca4632c14c] user: js, branch: trunk, size: 28751 [annotate] [blame] [check-ins using] [diff]
19:55
+[OFSystemInfo networkInterfaces]: Add AppleTalk file: [2cc1e954ae] check-in: [c428ff651c] user: js, branch: trunk, size: 26837 [annotate] [blame] [check-ins using] [diff]
19:38
+[OFSystemInfo networkInterfaces]: More IPv6 file: [dd5c0db750] check-in: [d4db12a5c9] user: js, branch: trunk, size: 26141 [annotate] [blame] [check-ins using] [diff]
2023-06-05
19:40
Fix MorphOS build file: [12190864cf] check-in: [62d8cbe31f] user: js, branch: trunk, size: 25688 [annotate] [blame] [check-ins using] [diff]
19:35
+[OFSystemInfo networkInterfaces]: Add IPv6s file: [9580f1e864] check-in: [8e6e7177ef] user: js, branch: trunk, size: 25694 [annotate] [blame] [check-ins using] [diff]
00:50
+[OFSystemInfo networkInterfaces]: Add IPv4s file: [c827d8d06a] check-in: [a15a0854be] user: js, branch: trunk, size: 23435 [annotate] [blame] [check-ins using] [diff]
2023-06-04
15:33
Improve API for +[OFSystemInfo networkInterfaces] file: [8a22d63aae] check-in: [ef03831928] user: js, branch: trunk, size: 20799 [annotate] [blame] [check-ins using] [diff]
2023-05-21
17:47
Change how +[OFSystemInfo networkInterfaces] works

This removes functionality which will be restored later. file: [29fca6defb] check-in: [43c80a7593] user: js, branch: trunk, size: 20397 [annotate] [blame] [check-ins using] [diff]

2023-04-24
17:21
OFSystemInfo: Get MAC address on BSD-like systems file: [91568c0543] check-in: [285c76be40] user: js, branch: trunk, size: 23550 [annotate] [blame] [check-ins using] [diff]
2023-04-23
11:42
OFSystemInfo: Fix shadowed variable on illumos file: [88309917a4] check-in: [915525194c] user: js, branch: trunk, size: 22887 [annotate] [blame] [check-ins using] [diff]
2023-04-22
20:22
Rename x86_64 to AMD64

It's just a less awkward name and also what the BSDs use. file: [6c16836067] check-in: [b7a4e61b88] user: js, branch: trunk, size: 22905 [annotate] [blame] [check-ins using] [diff]

19:52
Add OF_SYSTEM_INFO_HAS_NETWORK_INTERFACES define file: [9e9c77f12d] check-in: [74fea18d17] user: js, branch: trunk, size: 22911 [annotate] [blame] [check-ins using] [diff]
19:44
+[OFSystemInfo networkInterfaces]: Add MAC address file: [5cf06ea45f] check-in: [76861c3f78] user: js, branch: trunk, size: 22941 [annotate] [blame] [check-ins using] [diff]
10:14
OFSystemInfo: Move const into correct place file: [74da2775f2] check-in: [3d215a4f7d] user: js, branch: trunk, size: 22217 [annotate] [blame] [check-ins using] [diff]
09:55
Add +[OFSystemInfo networkInterfaces] file: [3c961c10ed] check-in: [c3f58bce43] user: js, branch: trunk, size: 22217 [annotate] [blame] [check-ins using] [diff]
2023-04-10
18:20
Set OS name on Nintendo Switch and Wii U file: [b04c355341] check-in: [be422e156d] user: js, branch: trunk, size: 19397 [annotate] [blame] [check-ins using] [diff]
15:08
Work around newer amiga-gcc defining Class file: [29cb852ec7] check-in: [abbed5c008] user: js, branch: trunk, size: 19254 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [5298f7ca34] check-in: [8939cbdb52] user: js, branch: trunk, size: 19210 [annotate] [blame] [check-ins using] [diff]
2022-12-29
15:12
Consider TMPDIR for temporary directory IRI file: [534d46329b] check-in: [915d45a586] user: js, branch: trunk, size: 19210 [annotate] [blame] [check-ins using] [diff]
2022-12-10
16:03
OFSystemInfo: Report DOS flavor and version file: [c85e386df7] check-in: [7c3ccb6b50] user: js, branch: trunk, size: 19032 [annotate] [blame] [check-ins using] [diff]
2022-11-27
09:22
OFSystemInfo: Detect 3DNow! support file: [6d272ac41c] check-in: [29565be707] user: js, branch: trunk, size: 18812 [annotate] [blame] [check-ins using] [diff]
2022-11-24
00:21
Rename OFURI to OFIRI file: [e769963f32] check-in: [23272e6d43] user: js, branch: trunk, size: 18646 [annotate] [blame] [check-ins using] [diff]
2022-10-30
18:25
OFSystemInfo: Add fallback to MAX_PATH file: [9f095b0c1c] check-in: [a3caef326b] user: js, branch: trunk, size: 18646 [annotate] [blame] [check-ins using] [diff]
2022-09-28
21:40
Rename OFUR{L -> I} in preparation for URI support file: [fb8661ad24] check-in: [e7ab06503c] user: js, branch: trunk, size: 18567 [annotate] [blame] [check-ins using] [diff]
2022-09-04
18:46
Remove -[prependString:] and -[reverse] file: [08b6db7f62] check-in: [6c3ec63d96] user: js, branch: trunk, size: 18567 [annotate] [blame] [check-ins using] [diff]
2022-08-30
00:48
OFObject: Small API change file: [22395c80f5] check-in: [4ad0c363f3] user: js, branch: trunk, size: 18547 [annotate] [blame] [check-ins using] [diff]
2022-08-07
16:14
OFSystemInfo: Fix build on AmigaOS file: [9f029f0dfb] check-in: [dce2ff272b] user: js, branch: trunk, size: 18547 [annotate] [blame] [check-ins using] [diff]
15:47
OFSystemInfo: Use URLs for system directories file: [a7f1b08bbe] check-in: [a5f2e3d0a5] user: js, branch: trunk, size: 18504 [annotate] [blame] [check-ins using] [diff]
2022-07-17
22:49
Add support for files on Nintendo Switch file: [ae514f74f6] check-in: [3228d624fe] user: js, branch: nintendo-switch, size: 18362 [annotate] [blame] [check-ins using] [diff]
2022-06-13
21:40
OFSystemInfo: Add missing include for iOS file: [2ea5196f61] check-in: [205d36080a] user: js, branch: trunk, size: 17943 [annotate] [blame] [check-ins using] [diff]
21:17
+[OFSystemInfo CPUModel]: Use sysctlbyname for Mac file: [85e07086cf] check-in: [e4a11c1509] user: js, branch: trunk, size: 17924 [annotate] [blame] [check-ins using] [diff]
2022-06-12
06:33
OFSystemInfo: Change type of ObjFW version file: [6e91a52e41] check-in: [811d9c8378] user: js, branch: trunk, size: 17624 [annotate] [blame] [check-ins using] [diff]
2022-02-12
07:46
Update copyright file: [2e51e54a8c] check-in: [1a86b8175b] user: js, branch: trunk, size: 17620 [annotate] [blame] [check-ins using] [diff]
2022-01-29
22:00
Revert back to native MiNT paths

The problem was mixing UNIX and native paths in
-[OFSystemInfo temporaryDirectoryPath]. file: [67c38c88aa] check-in: [74a6376d81] user: js, branch: trunk, size: 17620 [annotate] [blame] [check-ins using] [diff]

2021-12-22
20:39
Only return CPUModel if cpuid supports it file: [898b4a7065] check-in: [dec757bcc1] user: js, branch: trunk, size: 17576 [annotate] [blame] [check-ins using] [diff]
02:12
Implement -[temporaryDirectoryPath] for MS-DOS file: [95caf6d60f] check-in: [fca07c0c1b] user: js, branch: trunk, size: 17501 [annotate] [blame] [check-ins using] [diff]
2021-10-24
11:14
OFSystemInfo: Detect OS version & CPU on AmigaOS 3 file: [ddb7f4310a] check-in: [74d7354d62] user: js, branch: trunk, size: 17415 [annotate] [blame] [check-ins using] [diff]
2021-08-07
22:51
OFSystemInfo: Use if (@available(...))

This avoids referencing the deprecated symbols even though the
replacements are available, which resulted in App Store rejection. file: [da4a435ab7] check-in: [f372f73c49] user: js, branch: trunk, size: 16959 [annotate] [blame] [check-ins using] [diff]

2021-05-13
20:04
OFSystemInfo: Exclude \0 returned by confstr() file: [b33fc4fe1c] check-in: [f0528dda03] user: js, branch: trunk, size: 17133 [annotate] [blame] [check-ins using] [diff]
19:56
Add +[OFSystemInfo temporaryDirectoryPath] file: [76082dfedc] check-in: [7227005db8] user: js, branch: trunk, size: 17129 [annotate] [blame] [check-ins using] [diff]
2021-04-25
11:05
A few last renames file: [6fd50f8c07] check-in: [27103855c2] user: js, branch: new-naming-convention, size: 15971 [annotate] [blame] [check-ins using] [diff]
2021-04-18
20:51
Rename everything in several smaller files file: [4fe4340628] check-in: [35de667566] user: js, branch: new-naming-convention, size: 15991 [annotate] [blame] [check-ins using] [diff]
2021-04-17
16:13
of_once_t -> OFOnceControl file: [28825b524d] check-in: [26aa88fc9b] user: js, branch: new-naming-convention, size: 15990 [annotate] [blame] [check-ins using] [diff]
14:13
Always prefix functions with the type file: [28c48fc0d9] check-in: [eb0cfa6ff9] user: js, branch: new-naming-convention, size: 15964 [annotate] [blame] [check-ins using] [diff]
02:10
of_string_encoding_t -> OFStringEncoding file: [014dd1b2fc] check-in: [255f21fb3d] user: js, branch: new-naming-convention, size: 15964 [annotate] [blame] [check-ins using] [diff]
00:44
of_range_t -> OFRange file: [8425925bcc] check-in: [d975c53a43] user: js, branch: new-naming-convention, size: 15977 [annotate] [blame] [check-ins using] [diff]
2021-03-07
20:25
*.m: Fold methods into one line where it fits file: [6c63cf09e4] check-in: [1b82d3bf4f] user: js, branch: trunk, size: 15971 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [d40194da67] check-in: [374e1a1bfa] user: js, branch: trunk, size: 15972 [annotate] [blame] [check-ins using] [diff]
2020-12-12
22:31
Remove OF_*_ASM defines

Duplicating defines for every CPU architecture is not very useful. file: [6b81ef8011] check-in: [c859e2230c] user: js, branch: trunk, size: 16061 [annotate] [blame] [check-ins using] [diff]

2020-11-02
01:11
OFSystemInfo: Do not use sysctl to get CPU vendor

The sysctl name is specific to x86 on macOS and NetBSD, so cannot be
used for other architectures and the CPU vendor on x86 can just be
obtained via cpuid. file: [97e07274dd] check-in: [e73d0702d0] user: js, branch: trunk, size: 15997 [annotate] [blame] [check-ins using] [diff]

00:56
OFSystemInfo: Minor cleanup file: [a8432f0c63] check-in: [9903dedecb] user: js, branch: trunk, size: 16374 [annotate] [blame] [check-ins using] [diff]
00:53
OFSystemInfo: Use cpuid to get CPU model file: [3a242f30a6] check-in: [acb2130974] user: js, branch: trunk, size: 16395 [annotate] [blame] [check-ins using] [diff]
2020-09-27
00:57
Work around bugs in Apple GCC 4.2.1 file: [3f56016e9e] check-in: [cbc09c6e26] user: js, branch: trunk, size: 15992 [annotate] [blame] [check-ins using] [diff]
2020-08-13
22:46
propertyListValue -> objectByParsingPropertyList file: [4e15025453] check-in: [d763a9ff86] user: js, branch: trunk, size: 15955 [annotate] [blame] [check-ins using] [diff]
2020-05-17
14:08
Add support for non-Unicode Windows in all classes file: [0f92abda7c] check-in: [494acfb3e0] user: js, branch: trunk, size: 15945 [annotate] [blame] [check-ins using] [diff]
10:32
Add +[OFSystemInfo isWindowsNT] file: [c3f493864c] check-in: [793fdb6630] user: js, branch: trunk, size: 15855 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [7bac8e5add] check-in: [c7f0229795] user: js, branch: trunk, size: 15767 [annotate] [blame] [check-ins using] [diff]
2019-09-14
23:24
Add +[OFSystemInfo supports{AESNI,SHAExtensions}] file: [fe648ccbbc] check-in: [4c19f80ab0] user: js, branch: trunk, size: 15764 [annotate] [blame] [check-ins using] [diff]
2019-09-01
15:20
Use u suffix on a few constants file: [9552eef440] check-in: [b7badc68a0] user: js, branch: trunk, size: 15630 [annotate] [blame] [check-ins using] [diff]
2019-08-10
02:06
Clean up the AmigaOS 4 library mess file: [34858741f4] check-in: [3292a6fdbc] user: js, branch: trunk, size: 15621 [annotate] [blame] [check-ins using] [diff]
2019-08-01
20:14
Split threading.[hm] into multiple files

This allows the runtime to only link against the parts it needs, without
pulling in unnecessary parts like thread spawning, TLS and conditions. file: [f7d600acca] check-in: [5358e9ea6a] user: js, branch: trunk, size: 15754 [annotate] [blame] [check-ins using] [diff]

2019-04-23
00:12
OFSystemInfo: Add +[CPUModel] file: [9a78967309] check-in: [2447bb2967] user: js, branch: trunk, size: 16083 [annotate] [blame] [check-ins using] [diff]
2019-04-22
09:17
OFSystemInfo: AltiVec detection for AmigaOS 4 file: [10db3a92d5] check-in: [7ef650a6ec] user: js, branch: trunk, size: 15299 [annotate] [blame] [check-ins using] [diff]
2019-03-08
00:35
Use dot syntax file: [a2974f4317] check-in: [bceb7ed4c9] user: js, branch: trunk, size: 14928 [annotate] [blame] [check-ins using] [diff]
2019-01-03
19:13
Update copyright file: [ee4e3a6986] check-in: [0509d7a844] user: js, branch: trunk, size: 14925 [annotate] [blame] [check-ins using] [diff]
2018-12-02
20:11
OFSystemInfo: Work around GCC picking ebx for "=r"

Newer GCC versions on Windows use ebx for "=r", which results in a
movl %ebx, %ebx. %ebx is then destroyed by the popl %ebx that follows.
To work around this, force the use of %edi instead ("=D"). file: [f32302ffd0] check-in: [2fc1016631] user: js, branch: trunk, size: 14919 [annotate] [blame] [check-ins using] [diff]

2018-10-06
18:39
OFSystemInfo: Fix signedness in comparison file: [b0d88583f9] check-in: [9723036211] user: js, branch: trunk, size: 14915 [annotate] [blame] [check-ins using] [diff]
2018-07-28
18:45
Rename OFLocalization -> OFLocale file: [02f4d2521e] check-in: [aa0384d1bf] user: js, branch: trunk, size: 14898 [annotate] [blame] [check-ins using] [diff]
2018-07-01
15:14
OFSystemInfo: Add ObjFW version file: [4d8db1e98a] check-in: [06cf4cc15f] user: js, branch: trunk, size: 14916 [annotate] [blame] [check-ins using] [diff]
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: [3534efb1b1] check-in: [5831626f68] user: js, branch: trunk, size: 14722 [annotate] [blame] [check-ins using] [diff]

2018-04-30
10:15
runtime: Have the Amiga glue the other way around file: [a9b82e1cd3] check-in: [dec9500ab6] user: js, branch: trunk, size: 14714 [annotate] [blame] [check-ins using] [diff]
2018-04-23
22:19
Use more native AmigaOS APIs on AmigaOS 3 file: [dad22dd462] check-in: [b16fc262c0] user: js, branch: trunk, size: 14712 [annotate] [blame] [check-ins using] [diff]
2018-04-22
23:42
Make all tests pass on AmigaOS 3

Note: There is still some weirdness in the compiler. Instead of
m68k-amigaos-gcc, you need to use m68k-amigaos-g++ as OBJC, as otherwise
exceptions don't work.

Before running the tests, you need to run "stack 8192". file: [a6ae61b1e9] check-in: [49cb6ada5f] user: js, branch: trunk, size: 14673 [annotate] [blame] [check-ins using] [diff]

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: [d70c261d5b] check-in: [fe2cbe0021] user: js, branch: trunk, size: 14611 [annotate] [blame] [check-ins using] [diff]

2018-04-15
19:03
Use PROGDIR: as user config & data dir on AmigaOS file: [cdbf79507f] check-in: [c712763687] user: js, branch: trunk, size: 14648 [annotate] [blame] [check-ins using] [diff]
2018-03-18
06:05
Fix missing #ifdef OF_HAVE_FILES file: [5fc88ae41a] check-in: [f059c39b00] user: js, branch: trunk, size: 14552 [annotate] [blame] [check-ins using] [diff]
03:01
Implement +[operatingSystemVersion] for Windows file: [d04cf49a1f] check-in: [4707e80cdb] user: js, branch: trunk, size: 14522 [annotate] [blame] [check-ins using] [diff]
01:05
Fix missing import and typo file: [2bd7016700] check-in: [c32b3419c2] user: js, branch: trunk, size: 13290 [annotate] [blame] [check-ins using] [diff]
00:52
Implement +[operatingSystemVersion] for macOS/iOS file: [d2ab194f29] check-in: [01104c5e85] user: js, branch: trunk, size: 13284 [annotate] [blame] [check-ins using] [diff]
2018-03-17
21:53
Add +[OFSystemInfo operatingSystem{Name,Version}] file: [b1d4d96275] check-in: [c6ed29d881] user: js, branch: trunk, size: 12045 [annotate] [blame] [check-ins using] [diff]
2018-03-11
14:26
OFSystemInfo: Path-related methods require files file: [46e156926e] check-in: [953421ce9d] user: js, branch: trunk, size: 10496 [annotate] [blame] [check-ins using] [diff]
2018-02-17
00:30
Include <limits.h> when using PATH_MAX file: [b4c37fc2ed] check-in: [a99399b1b5] user: js, branch: trunk, size: 10450 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [1ceb93d76e] check-in: [7e5c81e186] user: js, branch: trunk, size: 10450 [annotate] [blame] [check-ins using] [diff]
2017-12-23
20:35
Implement fallback to NS*SearchPathEnumeration

This is used when sysdir_*_search_path_enumeration is unavailable.

Unfortunately, iOS 9 does not support sysdir_*_search_path_enumeration.
When compiled with a newer SDK, the symbol is available during linking,
but not at runtime, resulting in a crash. However, newer SDKs also
dropped NS*SearchPathEnumeration, so that it is not easy to provide a
fallback. This means that we need to declare all enums, types and
functions rather than just including them. file: [3fc178ff9d] check-in: [4e926dc017] user: js, branch: trunk, size: 10427 [annotate] [blame] [check-ins using] [diff]

2017-10-19
20:21
OFSystemInfo: Prevent instantiation file: [1dbbe7eb69] check-in: [9f372df30f] user: js, branch: trunk, size: 9186 [annotate] [blame] [check-ins using] [diff]
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: [5a19cbf413] check-in: [2f4e0df8be] user: js, branch: trunk, size: 9136 [annotate] [blame] [check-ins using] [diff]

2017-06-12
20:39
Add support for AltiVec detection on MorphOS file: [254f78a8f6] check-in: [1f9070d204] user: js, branch: trunk, size: 9122 [annotate] [blame] [check-ins using] [diff]
2017-05-27
10:33
Add unistd.h wrapper to make things less horrible file: [163a46eba3] check-in: [d31ec806ef] user: js, branch: trunk, size: 8791 [annotate] [blame] [check-ins using] [diff]
10:08
Make things work with glibc 2.17 and Clang 3.4.2 file: [7e09138521] check-in: [ec36a82d68] user: js, branch: trunk, size: 8955 [annotate] [blame] [check-ins using] [diff]
2017-05-22
23:31
Make includes of unistd.h and fcntl.h conditional file: [bfa2f21764] check-in: [1287e77e04] user: js, branch: trunk, size: 8902 [annotate] [blame] [check-ins using] [diff]
2017-05-13
22:38
Reduce retain + autorelease file: [83b5606b17] check-in: [504e13cf00] user: js, branch: trunk, size: 8873 [annotate] [blame] [check-ins using] [diff]
2017-05-07
20:10
Small code style change

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

2017-02-26
15:38
Rename OF_MAC_OS_X define to OF_MACOS file: [3184c9a0c5] check-in: [0abbcb442c] user: js, branch: trunk, size: 9535 [annotate] [blame] [check-ins using] [diff]
2017-02-05
23:46
Fix a typo file: [4830f6e850] check-in: [2213799d64] user: js, branch: trunk, size: 9550 [annotate] [blame] [check-ins using] [diff]
2017-02-04
13:13
OFSystemInfo: Minor #ifdef cleanup file: [2c3ef6bc2d] check-in: [feed7bc7f9] user: js, branch: trunk, size: 9550 [annotate] [blame] [check-ins using] [diff]
2017-01-09
17:36
Update copyright

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

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: [f489c81282] check-in: [06bcb21fc7] user: js, branch: trunk, size: 9770 [annotate] [blame] [check-ins using] [diff]

2017-01-08
03:57
Accept "1252" as a valid encoding for a locale

Windows uses this. file: [70cccb5f86] check-in: [87e332d145] user: js, branch: trunk, size: 11779 [annotate] [blame] [check-ins using] [diff]

03:45
Parse locale to get {language,territory,encoding}

Yes, there is really nothing to query this.
Yes, locales in C and POSIX are broken way beyond repair. file: [2f5eb2340c] check-in: [d6de0a1b71] user: js, branch: trunk, size: 11642 [annotate] [blame] [check-ins using] [diff]

02:38
Get native8BitEncoding from locale file: [13b78669de] check-in: [f12cecf014] user: js, branch: trunk, size: 10069 [annotate] [blame] [check-ins using] [diff]
2017-01-07
02:34
Always use "." for the decimal point

This is achieved by replacing the locale's decimal point with "." after
formatting and replacing "." with the locale's decimal point before
parsing.

To still use the decimal point from the locale for formatting, the new
flag "," is introduced to formats. This is useful for just printing a
string to the user that is not saved to a file or sent via a network.

While this is an ugly hack, there is no better way to do this other than
implementing the functionality of printf and strtod myself, as POSIX
does not specify versions of these that take a locale as an argument.
While this is a lot of work and error-prone, I will most likely end up
doing this eventually.

This commit also enables the locale in OFApplication to notice when
things break. As a nice side effect, ofhttp now uses the locale's
decimal point in its user interface. file: [c6d392a88f] check-in: [6dff0f5922] user: js, branch: trunk, size: 9986 [annotate] [blame] [check-ins using] [diff]

2016-10-09
02:17
OFSystemInfo: Implement finding dirs for iOS 10 file: [7a2395920f] check-in: [4a5eb1c281] user: js, branch: trunk, size: 9865 [annotate] [blame] [check-ins using] [diff]
2016-09-03
22:33
OFSystemInfo: Use sysdir.h on macOS 10.12 file: [35e9a4decf] check-in: [a006d15fed] user: js, branch: trunk, size: 9686 [annotate] [blame] [check-ins using] [diff]
2016-03-12
13:12
OFSystemInfo: Fix a stupid typo file: [b2e536c6d0] check-in: [6baf51ebda] user: js, branch: trunk, size: 8876 [annotate] [blame] [check-ins using] [diff]
2016-01-03
00:43
Update copyright

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

00:41
Update copyright

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

2015-11-02
21:49
Add +[OFSystemInfo supportsAltiVec] file: [918d680213] check-in: [2ba8ec1bf1] user: js, branch: trunk, size: 8872 [annotate] [blame] [check-ins using] [diff]
2015-10-24
20:53
OFSystemInfo.h: Use OF_X86 rather than OF_X86_ASM

The availability of the interface should not depend on whether inline
assembly is available or not, but rather on the CPU architecture.

In case no inline assembly is available, false is returned for
everything. file: [db62f84bfb] check-in: [952af5f0aa] user: js, branch: trunk, size: 8517 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [016d812c99] check-in: [1ba08eebc5] user: js, branch: trunk, size: 8569 [annotate] [blame] [check-ins using] [diff]
2015-10-17
22:50
Add +[OFSystemInfo supportsMXU] file: [4b19d00e46] check-in: [7399e9b249] user: js, branch: trunk, size: 9727 [annotate] [blame] [check-ins using] [diff]
17:27
Add +[OFSystemInfo supportsAltiVec] file: [77d1af34d2] check-in: [ffdba49764] user: js, branch: trunk, size: 9204 [annotate] [blame] [check-ins using] [diff]
12:01
Provide MMX/SSE/AVX check methods only on x86(_64) file: [df1cd50578] check-in: [1dbc2e0c76] user: js, branch: trunk, size: 8612 [annotate] [blame] [check-ins using] [diff]
2015-05-03
13:01
OFSystemInfo: iOS has no NSSystemDirectories.h file: [2e4f49497d] check-in: [3cc8b8db2f] user: js, branch: trunk, size: 8308 [annotate] [blame] [check-ins using] [diff]
2015-04-11
12:59
OFSystemInfo: Work around GCC being stupid file: [2207aef52d] check-in: [406dfede9e] user: js, branch: trunk, size: 8138 [annotate] [blame] [check-ins using] [diff]
2015-02-23
00:19
OFSystemInfo: Add methods to check CPU features file: [6148f51021] check-in: [a7ebc72ac7] user: js, branch: trunk, size: 7703 [annotate] [blame] [check-ins using] [diff]
2015-01-03
20:57
Update copyright file: [d1253c8608] check-in: [cfd374b906] user: js, branch: trunk, size: 6351 [annotate] [blame] [check-ins using] [diff]
2014-10-04
21:59
Add +[OFSystemInfo native8BitEncoding]

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

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: [2cb1c686e3] check-in: [13ee56edf3] user: js, branch: trunk, size: 6250 [annotate] [blame] [check-ins using] [diff]

2014-05-29
21:27
Work around __block being used by old glibc file: [99dd897c16] check-in: [d1e559b643] user: js, branch: trunk, size: 6297 [annotate] [blame] [check-ins using] [diff]
2014-03-18
22:53
OFSystemInfo: Fix compilation

It seems I broke this code path after testing it. file: [797dcf2e99] check-in: [8e4f4567d3] user: js, branch: trunk, size: 6132 [annotate] [blame] [check-ins using] [diff]

2014-03-16
22:32
OFSystemInfo: Add +[user{Config,Data}Path] file: [957b401e15] check-in: [e3a2dc6180] user: js, branch: trunk, size: 6137 [annotate] [blame] [check-ins using] [diff]
2014-02-18
00:22
Move around a few defines to be more consistent file: [1b1b7ac8be] check-in: [f9d12201f8] user: js, branch: trunk, size: 1589 [annotate] [blame] [check-ins using] [diff]
2014-01-04
00:24
Update copyright. file: [9cdb2a984b] check-in: [3b97fc3cd9] user: js, branch: trunk, size: 1589 [annotate] [blame] [check-ins using] [diff]
2013-11-23
01:27
Add OF_UNRECOGNIZED_SELECTOR. file: [35fe77e5c8] check-in: [6e19bd47ee] user: js, branch: trunk, size: 1583 [annotate] [blame] [check-ins using] [diff]
2013-04-26
22:32
Check for sysconf(). file: [e9e3f56333] check-in: [3f7dee97e8] user: js, branch: trunk, size: 1608 [annotate] [blame] [check-ins using] [diff]
2013-04-25
01:09
OFSystemInfo: Fix fallback pageSize. file: [da93dc47d6] check-in: [9c1da35543] user: js, branch: trunk, size: 1546 [annotate] [blame] [check-ins using] [diff]
2013-01-09
22:24
Update copyright. file: [582c2c13d3] check-in: [813c00ccf0] user: js, branch: trunk, size: 1550 [annotate] [blame] [check-ins using] [diff]
2013-01-07
13:36
Fix compilation on Win32. file: [5448c83bed] check-in: [2965720dbc] user: js, branch: trunk, size: 1544 [annotate] [blame] [check-ins using] [diff]
2012-12-26
14:10
Added: Add OFSystemInfo. file: [aa3fde574a] check-in: [4b637f8516] user: js, branch: trunk, size: 1500 [annotate] [blame] [check-ins using]