Make various XMPPConnection setter accept nil

This commit is contained in:
Florian Zeitz 2013-01-03 23:02:57 +01:00
parent a1645303f7
commit 6f1bcd5c6b

View file

@ -163,6 +163,8 @@
- (void)setUsername: (OFString*)username_ - (void)setUsername: (OFString*)username_
{ {
OFString *old = username; OFString *old = username;
if (username_ != nil) {
char *node; char *node;
Stringprep_rc rc; Stringprep_rc rc;
@ -179,6 +181,8 @@
} @finally { } @finally {
free(node); free(node);
} }
} else
username = nil;
[old release]; [old release];
} }
@ -191,6 +195,8 @@
- (void)setResource: (OFString*)resource_ - (void)setResource: (OFString*)resource_
{ {
OFString *old = resource; OFString *old = resource;
if (resource_ != nil) {
char *res; char *res;
Stringprep_rc rc; Stringprep_rc rc;
@ -207,6 +213,8 @@
} @finally { } @finally {
free(res); free(res);
} }
} else
resource = nil;
[old release]; [old release];
} }
@ -219,7 +227,12 @@
- (void)setServer: (OFString*)server_ - (void)setServer: (OFString*)server_
{ {
OFString *old = server; OFString *old = server;
if (server_ != nil)
server = [self XMPP_IDNAToASCII: server_]; server = [self XMPP_IDNAToASCII: server_];
else
server = nil;
[old release]; [old release];
} }
@ -232,6 +245,8 @@
{ {
OFString *oldDomain = domain; OFString *oldDomain = domain;
OFString *oldDomainToASCII = domainToASCII; OFString *oldDomainToASCII = domainToASCII;
if (domain_ != nil) {
char *srv; char *srv;
Stringprep_rc rc; Stringprep_rc rc;
@ -248,9 +263,14 @@
} @finally { } @finally {
free(srv); free(srv);
} }
[oldDomain release];
domainToASCII = [self XMPP_IDNAToASCII: domain]; domainToASCII = [self XMPP_IDNAToASCII: domain];
} else {
domain = nil;
domainToASCII = nil;
}
[oldDomain release];
[oldDomainToASCII release]; [oldDomainToASCII release];
} }
@ -262,6 +282,8 @@
- (void)setPassword: (OFString*)password_ - (void)setPassword: (OFString*)password_
{ {
OFString *old = password; OFString *old = password;
if (password_ != nil) {
char *pass; char *pass;
Stringprep_rc rc; Stringprep_rc rc;
@ -278,6 +300,8 @@
} @finally { } @finally {
free(pass); free(pass);
} }
} else
password = nil;
[old release]; [old release];
} }