ObjFW  Check-in [7c3ccb6b50]

Overview
Comment:OFSystemInfo: Report DOS flavor and version
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 7c3ccb6b5044f9031ea8bb1b5f62ba5d4e46bac3eaa4cb3ccff93da826b4aaf2
User & Date: js on 2022-12-10 16:03:58
Other Links: manifest | tags
Context
2022-12-17
23:46
Work around an ICE in Clang 3.7.0 on Windows/x86 check-in: 4102ee0c5e user: js tags: trunk
2022-12-10
16:03
OFSystemInfo: Report DOS flavor and version check-in: 7c3ccb6b50 user: js tags: trunk
2022-12-05
00:50
OFLocale: Default to codepage 437 on MS-DOS check-in: 8a459e4b5d user: js tags: trunk
Changes

Modified src/OFSystemInfo.m from [6d272ac41c] to [c85e386df7].

42
43
44
45
46
47
48




49
50
51
52
53
54
55
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59







+
+
+
+







#endif

#ifdef OF_NINTENDO_SWITCH
# define id nx_id
# import <switch.h>
# undef nx_id
#endif

#ifdef OF_DJGPP
# include <dos.h>
#endif

#import "OFSystemInfo.h"
#import "OFApplication.h"
#import "OFArray.h"
#import "OFDictionary.h"
#import "OFIRI.h"
#import "OFLocale.h"
133
134
135
136
137
138
139
140
141




142
143
144
145
146
147
148
137
138
139
140
141
142
143


144
145
146
147
148
149
150
151
152
153
154







-
-
+
+
+
+







	operatingSystemName = @"Nintendo Wii";
#elif defined(NINTENDO_3DS)
	operatingSystemName = @"Nintendo 3DS";
#elif defined(OF_NINTENDO_DS)
	operatingSystemName = @"Nintendo DS";
#elif defined(OF_PSP)
	operatingSystemName = @"PlayStation Portable";
#elif defined(OF_MSDOS)
	operatingSystemName = @"MS-DOS";
#elif defined(OF_DJGPP)
	operatingSystemName = [[OFString alloc]
	    initWithCString: _os_flavor
		   encoding: OFStringEncodingASCII];
#elif defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
	struct utsname utsname;

	if (uname(&utsname) != 0)
		return;

	operatingSystemName = [[OFString alloc]
226
227
228
229
230
231
232



233
234

235
236
237
238
239
240
241
232
233
234
235
236
237
238
239
240
241
242

243
244
245
246
247
248
249
250







+
+
+

-
+







# endif
#elif defined(OF_ANDROID)
	/* TODO */
#elif defined(OF_AMIGAOS)
	operatingSystemVersion = [[OFString alloc]
	    initWithFormat: @"Kickstart %u.%u",
			    SysBase->LibNode.lib_Version, SysBase->SoftVer];
#elif defined(OF_DJGPP)
	operatingSystemVersion = [[OFString alloc]
	    initWithFormat: @"%u.%u", _osmajor, _osminor];
#elif defined(OF_WII) || defined(NINTENDO_3DS) || defined(OF_NINTENDO_DS) || \
    defined(OF_PSP) || defined(OF_MSDOS)
    defined(OF_PSP)
	/* Intentionally nothing */
#elif defined(HAVE_SYS_UTSNAME_H) && defined(HAVE_UNAME)
	struct utsname utsname;

	if (uname(&utsname) != 0)
		return;