ObjFW  Diff

Differences From Artifact [d342160908]:

  • File src/exceptions/OFReadOrWriteFailedException.m — part of check-in [8d2a5052fd] at 2014-01-25 17:39:13 on branch trunk — 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). (user: js, size: 1815) [annotate] [blame] [check-ins using]

To Artifact [555499f2ea]:


16
17
18
19
20
21
22

23
24
25
26
27
28
29

#include "config.h"

#import "OFReadOrWriteFailedException.h"
#import "OFString.h"
#ifdef OF_HAVE_SOCKETS
# import "OFStreamSocket.h"

#endif

#import "common.h"
#import "macros.h"

@implementation OFReadOrWriteFailedException
+ (instancetype)exceptionWithObject: (id)object







>







16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

#include "config.h"

#import "OFReadOrWriteFailedException.h"
#import "OFString.h"
#ifdef OF_HAVE_SOCKETS
# import "OFStreamSocket.h"
# import "OFUDPSocket.h"
#endif

#import "common.h"
#import "macros.h"

@implementation OFReadOrWriteFailedException
+ (instancetype)exceptionWithObject: (id)object
43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
{
	self = [super init];

	_object = [object retain];
	_requestedLength = requestedLength;

#ifdef OF_HAVE_SOCKETS
	if ([object isKindOfClass: [OFStreamSocket class]])

		_errNo = GET_SOCK_ERRNO;
	else
#endif
		_errNo = GET_ERRNO;

	return self;
}







|
>







44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
{
	self = [super init];

	_object = [object retain];
	_requestedLength = requestedLength;

#ifdef OF_HAVE_SOCKETS
	if ([object isKindOfClass: [OFStreamSocket class]] ||
	    [object isKindOfClass: [OFUDPSocket class]])
		_errNo = GET_SOCK_ERRNO;
	else
#endif
		_errNo = GET_ERRNO;

	return self;
}