summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Schleifer <js@nil.im>2021-04-29 00:48:45 +0000
committerJonathan Schleifer <js@nil.im>2021-04-29 00:48:45 +0000
commit5325b221270240454de70f6da82f90b9682f763a (patch)
tree00fea9c6963082ff9495baee4d313e596ede118e
parent221de5bafdfd2f813bedb5b1213f9b399de2b117 (diff)
Adjust to ObjFW changesHEADmaster
FossilOrigin-Name: 3bf621892c7234955008d682211b3985069b4116cc13739081e96c86514ccab2
-rw-r--r--src/IRCConnection.h20
-rw-r--r--src/IRCConnection.m127
-rw-r--r--src/IRCUser.m5
-rw-r--r--tests/tests.m44
4 files changed, 89 insertions, 107 deletions
diff --git a/src/IRCConnection.h b/src/IRCConnection.h
index 12d94bc..0dd130f 100644
--- a/src/IRCConnection.h
+++ b/src/IRCConnection.h
@@ -34,8 +34,7 @@ OF_ASSUME_NONNULL_BEGIN
didCreateSocket: (OF_KINDOF(OFTCPSocket *))socket;
- (void)connection: (IRCConnection *)connection
didReceiveLine: (OFString *)line;
-- (void)connection: (IRCConnection *)connection
- didSendLine: (OFString *)line;
+- (void)connection: (IRCConnection *)connection didSendLine: (OFString *)line;
- (void)connectionWasEstablished: (IRCConnection *)connection;
- (void)connection: (IRCConnection *)connection
didFailToConnectWithException: (id)exception;
@@ -86,8 +85,8 @@ OF_ASSUME_NONNULL_BEGIN
OFString *_Nullable _realname;
OFMutableDictionary OF_GENERIC(OFString *, OFMutableSet *) *_channels;
id <IRCConnectionDelegate> _Nullable _delegate;
- of_string_encoding_t _fallbackEncoding;
- of_time_interval_t _pingInterval, _pingTimeout;
+ OFStringEncoding _fallbackEncoding;
+ OFTimeInterval _pingInterval, _pingTimeout;
OFString *_Nullable _pingData;
OFTimer *_Nullable _pingTimer;
bool _fallbackEncodingUsed;
@@ -102,8 +101,8 @@ OF_ASSUME_NONNULL_BEGIN
id <IRCConnectionDelegate> delegate;
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
OF_KINDOF(OFTCPSocket *) socket;
-@property (nonatomic) of_string_encoding_t fallbackEncoding;
-@property (nonatomic) of_time_interval_t pingInterval, pingTimeout;
+@property (nonatomic) OFStringEncoding fallbackEncoding;
+@property (nonatomic) OFTimeInterval pingInterval, pingTimeout;
+ (instancetype)connection;
- (void)sendLine: (OFString *)line;
@@ -113,12 +112,9 @@ OF_ASSUME_NONNULL_BEGIN
- (void)disconnectWithReason: (nullable OFString *)reason;
- (void)joinChannel: (OFString *)channelName;
- (void)leaveChannel: (OFString *)channel;
-- (void)leaveChannel: (OFString *)channel
- reason: (nullable OFString *)reason;
-- (void)sendMessage: (OFString *)message
- to: (OFString *)to;
-- (void)sendNotice: (OFString *)notice
- to: (OFString *)to;
+- (void)leaveChannel: (OFString *)channel reason: (nullable OFString *)reason;
+- (void)sendMessage: (OFString *)message to: (OFString *)to;
+- (void)sendNotice: (OFString *)notice to: (OFString *)to;
- (void)kickUser: (OFString *)user
channel: (OFString *)channel
reason: (nullable OFString *)reason;
diff --git a/src/IRCConnection.m b/src/IRCConnection.m
index 9cc125d..3cd4385 100644
--- a/src/IRCConnection.m
+++ b/src/IRCConnection.m
@@ -61,7 +61,7 @@
_socketClass = [OFTCPSocket class];
_channels = [[OFMutableDictionary alloc] init];
_port = 6667;
- _fallbackEncoding = OF_STRING_ENCODING_ISO_8859_1;
+ _fallbackEncoding = OFStringEncodingISO8859_1;
_pingInterval = 120;
_pingTimeout = 30;
} @catch (id e) {
@@ -95,8 +95,7 @@
_socket = [[_socketClass alloc] init];
[_socket setDelegate: self];
- [_socket asyncConnectToHost: _server
- port: _port];
+ [_socket asyncConnectToHost: _server port: _port];
objc_autoreleasePoolPop(pool);
}
@@ -117,8 +116,7 @@
if ([_delegate respondsToSelector:
@selector(connection:didCreateSocket:)])
- [_delegate connection: self
- didCreateSocket: _socket];
+ [_delegate connection: self didCreateSocket: _socket];
[self sendLineWithFormat: @"NICK %@", _nickname];
[self sendLineWithFormat: @"USER %@ * 0 :%@", _username, _realname];
@@ -149,7 +147,7 @@
{
void *pool = objc_autoreleasePoolPush();
- channel = [[channel componentsSeparatedByString: @"\n"] firstObject];
+ channel = [channel componentsSeparatedByString: @"\n"].firstObject;
[self sendLineWithFormat: @"JOIN %@", channel];
@@ -158,17 +156,15 @@
- (void)leaveChannel: (OFString *)channel
{
- [self leaveChannel: channel
- reason: nil];
+ [self leaveChannel: channel reason: nil];
}
-- (void)leaveChannel: (OFString *)channel
- reason: (OFString *)reason
+- (void)leaveChannel: (OFString *)channel reason: (OFString *)reason
{
void *pool = objc_autoreleasePoolPush();
- channel = [[channel componentsSeparatedByString: @"\n"] firstObject];
- reason = [[reason componentsSeparatedByString: @"\n"] firstObject];
+ channel = [channel componentsSeparatedByString: @"\n"].firstObject;
+ reason = [reason componentsSeparatedByString: @"\n"].firstObject;
if (reason == nil)
[self sendLineWithFormat: @"PART %@", channel];
@@ -183,8 +179,7 @@
- (void)sendLine: (OFString *)line
{
if ([_delegate respondsToSelector: @selector(connection:didSendLine:)])
- [_delegate connection: self
- didSendLine: line];
+ [_delegate connection: self didSendLine: line];
[_socket writeLine: line];
}
@@ -205,8 +200,7 @@
objc_autoreleasePoolPop(pool);
}
-- (void)sendMessage: (OFString *)message
- to: (OFString *)to
+- (void)sendMessage: (OFString *)message to: (OFString *)to
{
void *pool = objc_autoreleasePoolPush();
@@ -216,8 +210,7 @@
objc_autoreleasePoolPop(pool);
}
-- (void)sendNotice: (OFString *)notice
- to: (OFString *)to
+- (void)sendNotice: (OFString *)notice to: (OFString *)to
{
void *pool = objc_autoreleasePoolPush();
@@ -244,8 +237,7 @@
{
void *pool = objc_autoreleasePoolPush();
- nickname = [[nickname componentsSeparatedByString: @"\n"]
- firstObject];
+ nickname = [nickname componentsSeparatedByString: @"\n"].firstObject;
[self sendLineWithFormat: @"NICK %@", nickname];
@@ -259,8 +251,7 @@
if ([_delegate respondsToSelector:
@selector(connection:didReceiveLine:)])
- [_delegate connection: self
- didReceiveLine: line];
+ [_delegate connection: self didReceiveLine: line];
components = [line componentsSeparatedByString: @" "];
@@ -268,7 +259,7 @@
if ([components count] == 2 &&
[[components firstObject] isEqual: @"PING"]) {
OFMutableString *s = [[line mutableCopy] autorelease];
- [s replaceCharactersInRange: of_range(0, 4)
+ [s replaceCharactersInRange: OFRangeMake(0, 4)
withString: @"PONG"];
[self sendLine: s];
@@ -276,7 +267,7 @@
}
/* PONG */
- if ([components count] == 4 &&
+ if (components.count == 4 &&
[[components objectAtIndex: 1] isEqual: @"PONG"] &&
[[components objectAtIndex: 3] isEqual: _pingData]) {
[_pingTimer invalidate];
@@ -291,7 +282,7 @@
action = [[components objectAtIndex: 1] uppercaseString];
/* Connected */
- if ([action isEqual: @"001"] && [components count] >= 4) {
+ if ([action isEqual: @"001"] && components.count >= 4) {
if ([_delegate respondsToSelector:
@selector(connectionWasEstablished:)])
[_delegate connectionWasEstablished: self];
@@ -305,24 +296,23 @@
}
/* JOIN */
- if ([action isEqual: @"JOIN"] && [components count] == 3) {
+ if ([action isEqual: @"JOIN"] && components.count == 3) {
OFString *who = [components objectAtIndex: 0];
OFString *where = [components objectAtIndex: 2];
IRCUser *user;
OFMutableSet *channel;
- who = [who substringWithRange: of_range(1, [who length] - 1)];
+ who = [who substringWithRange: OFRangeMake(1, who.length - 1)];
user = [IRCUser IRCUserWithString: who];
if ([who hasPrefix:
[_nickname stringByAppendingString: @"!"]]) {
channel = [OFMutableSet set];
- [_channels setObject: channel
- forKey: where];
+ [_channels setObject: channel forKey: where];
} else
channel = [_channels objectForKey: where];
- [channel addObject: [user nickname]];
+ [channel addObject: user.nickname];
if ([_delegate respondsToSelector:
@selector(connection:didSeeUser:joinChannel:)])
@@ -334,7 +324,7 @@
}
/* NAMES reply */
- if ([action isEqual: @"353"] && [components count] >= 6) {
+ if ([action isEqual: @"353"] && components.count >= 6) {
OFString *where;
OFMutableSet *channel;
OFArray *users;
@@ -354,14 +344,14 @@
[[components objectAtIndex: 4] length] + 6;
users = [[line substringWithRange:
- of_range(pos, [line length] - pos)]
+ OFRangeMake(pos, line.length - pos)]
componentsSeparatedByString: @" "];
for (OFString *user in users) {
if ([user hasPrefix: @"@"] || [user hasPrefix: @"+"] ||
[user hasPrefix: @"%"] || [user hasPrefix: @"*"])
user = [user substringWithRange:
- of_range(1, [user length] - 1)];
+ OFRangeMake(1, user.length - 1)];
[channel addObject: user];
}
@@ -381,18 +371,18 @@
IRCUser *user;
OFMutableSet *channel;
OFString *reason = nil;
- size_t pos = [who length] + 1 +
- [[components objectAtIndex: 1] length] + 1 + [where length];
+ size_t pos = who.length + 1 +
+ [[components objectAtIndex: 1] length] + 1 + where.length;
- who = [who substringWithRange: of_range(1, [who length] - 1)];
+ who = [who substringWithRange: OFRangeMake(1, who.length - 1)];
user = [IRCUser IRCUserWithString: who];
channel = [_channels objectForKey: where];
- if ([components count] > 3)
+ if (components.count > 3)
reason = [line substringWithRange:
- of_range(pos + 2, [line length] - pos - 2)];
+ OFRangeMake(pos + 2, line.length - pos - 2)];
- [channel removeObject: [user nickname]];
+ [channel removeObject: user.nickname];
if ([_delegate respondsToSelector:
@selector(connection:didSeeUser:leaveChannel:reason:)])
@@ -405,26 +395,26 @@
}
/* KICK */
- if ([action isEqual: @"KICK"] && [components count] >= 4) {
+ if ([action isEqual: @"KICK"] && components.count >= 4) {
OFString *who = [components objectAtIndex: 0];
OFString *where = [components objectAtIndex: 2];
OFString *whom = [components objectAtIndex: 3];
IRCUser *user;
OFMutableSet *channel;
OFString *reason = nil;
- size_t pos = [who length] + 1 +
+ size_t pos = who.length + 1 +
[[components objectAtIndex: 1] length] + 1 +
- [where length] + 1 + [whom length];
+ where.length + 1 + whom.length;
- who = [who substringWithRange: of_range(1, [who length] - 1)];
+ who = [who substringWithRange: OFRangeMake(1, who.length - 1)];
user = [IRCUser IRCUserWithString: who];
channel = [_channels objectForKey: where];
if ([components count] > 4)
reason = [line substringWithRange:
- of_range(pos + 2, [line length] - pos - 2)];
+ OFRangeMake(pos + 2, line.length - pos - 2)];
- [channel removeObject: [user nickname]];
+ [channel removeObject: user.nickname];
if ([_delegate respondsToSelector:
@selector(connection:didSeeUser:kickUser:channel:reason:)])
@@ -438,23 +428,23 @@
}
/* QUIT */
- if ([action isEqual: @"QUIT"] && [components count] >= 2) {
+ if ([action isEqual: @"QUIT"] && components.count >= 2) {
OFString *who = [components objectAtIndex: 0];
IRCUser *user;
OFString *reason = nil;
- size_t pos = [who length] + 1 +
+ size_t pos = who.length + 1 +
[[components objectAtIndex: 1] length];
- who = [who substringWithRange: of_range(1, [who length] - 1)];
+ who = [who substringWithRange: OFRangeMake(1, who.length - 1)];
user = [IRCUser IRCUserWithString: who];
if ([components count] > 2)
reason = [line substringWithRange:
- of_range(pos + 2, [line length] - pos - 2)];
+ OFRangeMake(pos + 2, line.length - pos - 2)];
for (OFString *channel in _channels)
[[_channels objectForKey: channel]
- removeObject: [user nickname]];
+ removeObject: user.nickname];
if ([_delegate respondsToSelector:
@selector(connection:didSeeUserQuit:reason:)])
@@ -466,25 +456,25 @@
}
/* NICK */
- if ([action isEqual: @"NICK"] && [components count] == 3) {
+ if ([action isEqual: @"NICK"] && components.count == 3) {
OFString *who = [components objectAtIndex: 0];
OFString *nickname = [components objectAtIndex: 2];
IRCUser *user;
- who = [who substringWithRange: of_range(1, [who length] - 1)];
+ who = [who substringWithRange: OFRangeMake(1, who.length - 1)];
nickname = [nickname substringWithRange:
- of_range(1, [nickname length] - 1)];
+ OFRangeMake(1, nickname.length - 1)];
user = [IRCUser IRCUserWithString: who];
- if ([[user nickname] isEqual: _nickname]) {
+ if ([user.nickname isEqual: _nickname]) {
[_nickname release];
_nickname = [nickname copy];
}
for (OFMutableSet *channel in _channels) {
- if ([channel containsObject: [user nickname]]) {
- [channel removeObject: [user nickname]];
+ if ([channel containsObject: user.nickname]) {
+ [channel removeObject: user.nickname];
[channel addObject: nickname];
}
}
@@ -499,18 +489,18 @@
}
/* PRIVMSG */
- if ([action isEqual: @"PRIVMSG"] && [components count] >= 4) {
+ if ([action isEqual: @"PRIVMSG"] && components.count >= 4) {
OFString *from = [components objectAtIndex: 0];
OFString *to = [components objectAtIndex: 2];
IRCUser *user;
OFString *message;
- size_t pos = [from length] + 1 +
- [[components objectAtIndex: 1] length] + 1 + [to length];
+ size_t pos = from.length + 1 +
+ [[components objectAtIndex: 1] length] + 1 + to.length;
from = [from substringWithRange:
- of_range(1, [from length] - 1)];
+ OFRangeMake(1, from.length - 1)];
message = [line substringWithRange:
- of_range(pos + 2, [line length] - pos - 2)];
+ OFRangeMake(pos + 2, line.length - pos - 2)];
user = [IRCUser IRCUserWithString: from];
if (![to isEqual: _nickname]) {
@@ -532,18 +522,18 @@
}
/* NOTICE */
- if ([action isEqual: @"NOTICE"] && [components count] >= 4) {
+ if ([action isEqual: @"NOTICE"] && components.count >= 4) {
OFString *from = [components objectAtIndex: 0];
OFString *to = [components objectAtIndex: 2];
IRCUser *user = nil;
OFString *notice;
- size_t pos = [from length] + 1 +
- [[components objectAtIndex: 1] length] + 1 + [to length];
+ size_t pos = from.length + 1 +
+ [[components objectAtIndex: 1] length] + 1 + to.length;
from = [from substringWithRange:
- of_range(1, [from length] - 1)];
+ OFRangeMake(1, from.length - 1)];
notice = [line substringWithRange:
- of_range(pos + 2, [line length] - pos - 2)];
+ OFRangeMake(pos + 2, line.length - pos - 2)];
if (![from containsString: @"!"] || [to isEqual: @"*"]) {
/* System message - ignore for now */
@@ -575,6 +565,8 @@
{
[_pingData release];
[_pingTimer release];
+ _pingData = nil;
+ _pingTimer = nil;
_pingData = [[OFString alloc] initWithFormat: @":%d", rand()];
[_socket writeFormat: @"PING %@\r\n", _pingData];
@@ -623,8 +615,7 @@
[_pingTimer invalidate];
- [_socket performSelector: @selector(cancelAsyncRequests)
- afterDelay: 0];
+ [_socket performSelector: @selector(cancelAsyncRequests) afterDelay: 0];
[_socket release];
_socket = nil;
diff --git a/src/IRCUser.m b/src/IRCUser.m
index 911ac2c..41c96aa 100644
--- a/src/IRCUser.m
+++ b/src/IRCUser.m
@@ -50,10 +50,7 @@
@try {
char *tmp;
- if ((tmp2 = strdup([string UTF8String])) == NULL)
- @throw [OFOutOfMemoryException
- exceptionWithRequestedSize:
- [string UTF8StringLength]];
+ tmp2 = OFStrDup(string.UTF8String);
if ((tmp = strchr(tmp2, '@')) == NULL)
@throw [OFInvalidFormatException exception];
diff --git a/tests/tests.m b/tests/tests.m
index 4e855fa..585451c 100644
--- a/tests/tests.m
+++ b/tests/tests.m
@@ -37,25 +37,23 @@ OF_APPLICATION_DELEGATE(TestApp)
{
IRCConnection *connection = [[IRCConnection alloc] init];
- [connection setServer: @"irc.freenode.net"];
- [connection setNickname: @"ObjIRC"];
- [connection setUsername: @"ObjIRC"];
- [connection setRealname: @"ObjIRC"];
- [connection setDelegate: self];
+ connection.server = @"irc.freenode.net";
+ connection.nickname = @"ObjIRC";
+ connection.username = @"ObjIRC";
+ connection.realname = @"ObjIRC";
+ connection.delegate = self;
[connection connect];
}
-- (void)connection: (IRCConnection*)connection
- didReceiveLine: (OFString*)line
+- (void)connection: (IRCConnection*)connection didReceiveLine: (OFString*)line
{
- [of_stderr writeFormat: @"> %@\n", line];
+ [OFStdErr writeFormat: @"> %@\n", line];
}
-- (void)connection: (IRCConnection*)connection
- didSendLine: (OFString*)line
+- (void)connection: (IRCConnection*)connection didSendLine: (OFString*)line
{
- [of_stderr writeFormat: @"< %@\n", line];
+ [OFStdErr writeFormat: @"< %@\n", line];
}
- (void)connectionWasEstablished: (IRCConnection*)connection
@@ -66,7 +64,7 @@ OF_APPLICATION_DELEGATE(TestApp)
- (void)connection: (IRCConnection *)connection
didFailToConnectWithException: (id)exception
{
- [of_stderr writeFormat: @"Failed to connect: %@\n", exception];
+ [OFStdErr writeFormat: @"Failed to connect: %@\n", exception];
[OFApplication terminateWithStatus: 1];
}
@@ -75,7 +73,7 @@ OF_APPLICATION_DELEGATE(TestApp)
didSeeUser: (IRCUser*)user
joinChannel: (OFString*)channel
{
- of_log(@"%@ joined %@.", user, channel);
+ OFLog(@"%@ joined %@.", user, channel);
}
- (void)connection: (IRCConnection*)connection
@@ -83,7 +81,7 @@ OF_APPLICATION_DELEGATE(TestApp)
leaveChannel: (OFString*)channel
reason: (OFString*)reason
{
- of_log(@"%@ left %@ (%@).", user, channel, reason);
+ OFLog(@"%@ left %@ (%@).", user, channel, reason);
}
- (void)connection: (IRCConnection*)connection
@@ -92,21 +90,21 @@ OF_APPLICATION_DELEGATE(TestApp)
channel: (OFString*)channel
reason: (OFString*)reason
{
- of_log(@"%@ kicked %@ from %@: %@", user, kickedUser, channel, reason);
+ OFLog(@"%@ kicked %@ from %@: %@", user, kickedUser, channel, reason);
}
- (void)connection: (IRCConnection*)connection
didSeeUserQuit: (IRCUser*)user
reason: (OFString*)reason
{
- of_log(@"%@ quit (%@).", user, reason);
+ OFLog(@"%@ quit (%@).", user, reason);
}
- (void)connection: (IRCConnection*)connection
didSeeUser: (IRCUser*)user
changeNicknameTo: (OFString *)nickname
{
- of_log(@"%@ changed nick to %@.", user, nickname);
+ OFLog(@"%@ changed nick to %@.", user, nickname);
}
- (void)connection: (IRCConnection*)connection
@@ -114,14 +112,14 @@ OF_APPLICATION_DELEGATE(TestApp)
channel: (OFString*)channel
user: (IRCUser*)user
{
- of_log(@"[%@] %@: %@", channel, [user nickname], msg);
+ OFLog(@"[%@] %@: %@", channel, [user nickname], msg);
}
- (void)connection: (IRCConnection*)connection
didReceivePrivateMessage: (OFString*)msg
user: (IRCUser*)user
{
- of_log(@"(%@): %@", user, msg);
+ OFLog(@"(%@): %@", user, msg);
}
- (void)connection: (IRCConnection*)connection
@@ -129,26 +127,26 @@ OF_APPLICATION_DELEGATE(TestApp)
channel: (OFString*)channel
user: (IRCUser*)user
{
- of_log(@"NOTICE: [%@] %@: %@", channel, [user nickname], notice);
+ OFLog(@"NOTICE: [%@] %@: %@", channel, [user nickname], notice);
}
- (void)connection: (IRCConnection*)connection
didReceiveNotice: (OFString*)notice
user: (IRCUser*)user
{
- of_log(@"NOTICE: (%@): %@", user, notice);
+ OFLog(@"NOTICE: (%@): %@", user, notice);
}
- (void)connection: (IRCConnection*)connection
didReceiveNamesForChannel: (OFString*)channel
{
- of_log(@"Users in %@: %@", channel,
+ OFLog(@"Users in %@: %@", channel,
[connection usersInChannel: channel]);
}
- (void)connectionWasClosed: (IRCConnection*)connection
{
- of_log(@"Disconnected!");
+ OFLog(@"Disconnected!");
[OFApplication terminate];
}