ObjFW  Check-in [029511474c]

Overview
Comment: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 ;).
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 029511474cc54ab14a31593c10bb08231f42202374aa1677e421f4f81fe14640
User & Date: js on 2009-02-14 17:26:12
Other Links: manifest | tags
Context
2009-02-14
19:04
Let OFString's setTo: use const char* instead of OFString*.
This is far more useful.
check-in: cc2e866e55 user: js tags: trunk
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 ;).
check-in: 029511474c user: js tags: trunk
17:16
Fix missing include and install OFComparable.h. check-in: 5642f16519 user: js tags: trunk
Changes

Modified src/OFArray.m from [99432f285e] to [3ecf264b3e].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17




18
19
20
21
22
23
24
1
2
3
4
5
6
7
8
9
10
11
12
13




14
15
16
17
18
19
20
21
22
23
24













-
-
-
-
+
+
+
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#import <stdio.h>
#import <string.h>
#import <unistd.h>
#import <limits.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <limits.h>

#import "OFArray.h"
#import "OFExceptions.h"
#import "OFMacros.h"

static size_t lastpagebyte = 0;
extern int getpagesize(void);

Modified src/OFAutoreleasePool.m from [6b8df1f839] to [94601c49b9].

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15

16
17
18
19
20
21
22
23

24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11

12
13
14

15
16
17
18
19
20
21
22

23
24
25
26
27
28
29
30











-
+


-
+







-
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import <stdlib.h>
#include <stdlib.h>

#ifndef _WIN32
#import <pthread.h>
#include <pthread.h>
#endif

#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "OFList.h"

#ifdef _WIN32
#import <windows.h>
#include <windows.h>
#endif

#ifndef _WIN32
#define get_tls(t) pthread_getspecific(pool_list_key)
#define set_tls(t, v) pthread_setspecific(t, v)
static pthread_key_t pool_list_key;
#else

Modified src/OFExceptions.m from [56da576dd7] to [0ea43d29eb].

8
9
10
11
12
13
14
15
16
17



18
19
20

21
22
23
24
25
26

27
28
29
30
31
32
33
8
9
10
11
12
13
14



15
16
17
18
19

20
21
22
23
24
25

26
27
28
29
30
31
32
33







-
-
-
+
+
+


-
+





-
+







 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#define _GNU_SOURCE
#import <stdio.h>
#import <stdlib.h>
#import <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#ifndef _WIN32
#import <errno.h>
#include <errno.h>
#define GET_ERR	     errno
#define GET_SOCK_ERR errno
#define ERRFMT	     "Error string was: %s"
#define ERRPARAM     strerror(err)
#else
#import <windows.h>
#include <windows.h>
#define GET_ERR	     GetLastError()
#define GET_SOCK_ERR WSAGetLastError()
#define ERRFMT	     "Error code was: %d"
#define ERRPARAM     err
#endif

#import <objc/objc-api.h>

Modified src/OFFile.h from [75dce3944f] to [83b21b531b].

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15

16
17
18
19
20
21
22
1
2
3
4
5
6
7
8
9
10
11

12
13
14

15
16
17
18
19
20
21
22











-
+


-
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import <stdio.h>
#include <stdio.h>

#ifndef _WIN32
#import <sys/types.h>
#include <sys/types.h>
#else
typedef int uid_t;
typedef int gid_t;
#endif

#import "OFObject.h"
#import "OFStream.h"

Modified src/OFFile.m from [637ff38638] to [68e15040b2].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16



17
18
19
20


21
22
23
24
25
26
27
1
2
3
4
5
6
7
8
9
10
11
12
13



14
15
16
17
18


19
20
21
22
23
24
25
26
27













-
-
-
+
+
+


-
-
+
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#import <stdio.h>
#import <string.h>
#import <unistd.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>

#ifndef _WIN32
#import <sys/types.h>
#import <sys/stat.h>
#include <sys/types.h>
#include <sys/stat.h>
#endif

#import "OFFile.h"
#import "OFExceptions.h"

@implementation OFFile
+ fileWithPath: (const char*)path

Modified src/OFHashes.m from [b5ad7687f9] to [78e42ea05b].

1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18
19
20
21













-
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#import <string.h>
#include <string.h>

#import "OFHashes.h"
#import "OFMacros.h"

/*******
 * MD5 *
 *******/

Modified src/OFNumber.h from [3bc9a9c5bd] to [5ac8772568].

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17
18
19











-
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import <unistd.h>
#include <unistd.h>

#import "OFObject.h"

enum of_number_type {
	OF_NUMBER_CHAR,
	OF_NUMBER_SHORT,
	OF_NUMBER_INT,

Modified src/OFObject.h from [8a674581d8] to [2370690927].

1
2
3
4
5
6
7
8
9
10
11
12
13
14

15
16
17
18
19
20
21
1
2
3
4
5
6
7
8
9
10
11
12
13

14
15
16
17
18
19
20
21













-
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import <objc/Object.h>

#import <stdint.h>
#include <stdint.h>

/**
 * The OFObject class is the base class for all other classes inside ObjFW.
 */
@interface OFObject: Object
{
	void   **__memchunks;

Modified src/OFObject.m from [f1ae449a76] to [9d1bddfff6].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16



17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13



14
15
16
17
18
19
20
21
22
23













-
-
-
+
+
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#import <stdlib.h>
#import <string.h>
#import <limits.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>

#import "OFObject.h"
#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "OFMacros.h"

@implementation OFObject

Modified src/OFString.h from [d0143637ff] to [6a1a0bcc55].

1
2
3
4
5
6
7
8
9
10
11

12

13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
11
12

13

14
15
16
17
18
19
20











+
-
+
-







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#include <stdio.h>
#import <stdarg.h>
#include <stdarg.h>
#import <stdio.h>

#import "OFObject.h"
#import "OFComparable.h"

/**
 * A class for storing and modifying strings.
 */

Modified src/OFString.m from [d870a955f7] to [8d074bf70b].

8
9
10
11
12
13
14
15
16
17
18
19





20
21
22

23
24
25
26
27
28
29
8
9
10
11
12
13
14





15
16
17
18
19
20
21

22
23
24
25
26
27
28
29







-
-
-
-
-
+
+
+
+
+


-
+







 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#define _GNU_SOURCE
#import <stdarg.h>
#import <stdio.h>
#import <stdlib.h>
#import <string.h>
#import <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <ctype.h>

#ifdef HAVE_SYS_MMAN_H
#import <sys/mman.h>
#include <sys/mman.h>
#else
#define madvise(addr, len, advise)
#endif

#import "OFString.h"
#import "OFExceptions.h"
#import "OFMacros.h"

Modified src/OFTCPSocket.h from [06d6c5c438] to [bd7229eefe].

1
2
3
4
5
6
7
8
9
10
11
12

13
14
15
16
17
18
19
20



21
22
23
24
25
26
27
28
29
30
31
32
33
34


35
36
37
38
39
40
41
1
2
3
4
5
6
7
8
9
10
11

12
13
14
15
16
17



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32


33
34
35
36
37
38
39
40
41











-
+





-
-
-
+
+
+












-
-
+
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import <stdio.h>
#include <stdio.h>

/*
 * Headers for UNIX systems
 */
#ifndef _WIN32
#import <sys/types.h>
#import <sys/socket.h>
#import <netdb.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#endif

#import "OFObject.h"
#import "OFStream.h"

/*
 * Headers for Win32
 *
 * These must be imported after objc/Object and thus OFObject!
 */
#ifdef _WIN32
#define _WIN32_WINNT 0x0501
#import <winsock2.h>
#import <ws2tcpip.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#endif

/**
 * The OFTCPSocket class provides functions to create and use sockets.
 */
@interface OFTCPSocket: OFObject <OFStream>
{

Modified src/OFTCPSocket.m from [bf7391c607] to [a02bc73f70].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18





19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13





14
15
16
17
18
19
20
21
22
23
24
25













-
-
-
-
-
+
+
+
+
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#import <stdio.h>
#import <stdlib.h>
#import <string.h>
#import <unistd.h>
#import <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>

#import "OFTCPSocket.h"
#import "OFExceptions.h"

#ifndef INVALID_SOCKET
#define INVALID_SOCKET -1
#endif

Modified src/OFXMLFactory.h from [ef5bbcf454] to [5c64021065].

1
2
3
4
5
6
7
8
9
10
11

12

13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
10
11
12

13

14
15
16
17
18
19
20











+
-
+
-







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#include <stdio.h>
#import <stdarg.h>
#include <stdarg.h>
#import <stdio.h>

#import "OFObject.h"

/**
 * The OFXMLFactory class provides an easy way to create XML stanzas.
 */
@interface OFXMLFactory: OFObject {}

Modified src/OFXMLFactory.m from [3b5278a052] to [88fdb05c43].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18





19
20
21
22
23
24
25
1
2
3
4
5
6
7
8
9
10
11
12
13





14
15
16
17
18
19
20
21
22
23
24
25













-
-
-
-
-
+
+
+
+
+







/*
 * Copyright (c) 2008 - 2009
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of libobjfw. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE included in
 * the packaging of this file.
 */

#import "config.h"

#import <stdarg.h>
#import <stdio.h>
#import <stdlib.h>
#import <string.h>
#import <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <limits.h>

#import "OFXMLFactory.h"
#import "OFExceptions.h"
#import "OFMacros.h"

/*
 * We don't use OFString in this file for performance reasons!