Use ARC functions for RR

FossilOrigin-Name: d80ebb2ce13b075e0e67dfb391cd120f2bf99f6ad5492c50d4e71e59dcbd1ac1
This commit is contained in:
Jonathan Schleifer 2025-04-18 21:29:58 +00:00
parent 34c0d626d4
commit 1fb20d5791
9 changed files with 59 additions and 55 deletions

View file

@ -26,12 +26,13 @@
@implementation SL3Connection @implementation SL3Connection
+ (instancetype)connectionWithIRI: (OFIRI *)IRI + (instancetype)connectionWithIRI: (OFIRI *)IRI
{ {
return [[[self alloc] initWithIRI: IRI] autorelease]; return objc_autoreleaseReturnValue([[self alloc] initWithIRI: IRI]);
} }
+ (instancetype)connectionWithIRI: (OFIRI *)IRI flags: (int)flags + (instancetype)connectionWithIRI: (OFIRI *)IRI flags: (int)flags
{ {
return [[[self alloc] initWithIRI: IRI flags: flags] autorelease]; return objc_autoreleaseReturnValue([[self alloc] initWithIRI: IRI
flags: flags]);
} }
- (instancetype)initWithIRI: (OFIRI *)IRI - (instancetype)initWithIRI: (OFIRI *)IRI
@ -54,7 +55,7 @@
flags: flags flags: flags
errorCode: code]; errorCode: code];
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -70,9 +71,9 @@
- (SL3PreparedStatement *)prepareStatement: (OFConstantString *)SQLStatement - (SL3PreparedStatement *)prepareStatement: (OFConstantString *)SQLStatement
{ {
return [[[SL3PreparedStatement alloc] return objc_autoreleaseReturnValue([[SL3PreparedStatement alloc]
sl3_initWithConnection: self sl3_initWithConnection: self
SQLStatement: SQLStatement] autorelease]; SQLStatement: SQLStatement]);
} }
- (void)executeStatement: (OFConstantString *)SQLStatement - (void)executeStatement: (OFConstantString *)SQLStatement

View file

@ -25,12 +25,6 @@
#import "SL3PrepareStatementFailedException.h" #import "SL3PrepareStatementFailedException.h"
#import "SL3ResetStatementFailedException.h" #import "SL3ResetStatementFailedException.h"
static void
releaseObject(void *object)
{
[(id)object release];
}
@implementation SL3PreparedStatement @implementation SL3PreparedStatement
- (instancetype)sl3_initWithConnection: (SL3Connection *)connection - (instancetype)sl3_initWithConnection: (SL3Connection *)connection
SQLStatement: (OFConstantString *)SQLStatement SQLStatement: (OFConstantString *)SQLStatement
@ -48,9 +42,9 @@ releaseObject(void *object)
SQLStatement: SQLStatement SQLStatement: SQLStatement
errorCode: code]; errorCode: code];
_connection = [connection retain]; _connection = objc_retain(connection);
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -60,7 +54,7 @@ releaseObject(void *object)
- (void)dealloc - (void)dealloc
{ {
sqlite3_finalize(_stmt); sqlite3_finalize(_stmt);
[_connection release]; objc_release(_connection);
[super dealloc]; [super dealloc];
} }
@ -87,13 +81,15 @@ bindObject(SL3PreparedStatement *statement, int column, id object)
OFString *copy = [object copy]; OFString *copy = [object copy];
code = sqlite3_bind_text64(statement->_stmt, column, code = sqlite3_bind_text64(statement->_stmt, column,
copy.UTF8String, copy.UTF8StringLength, releaseObject, copy.UTF8String, copy.UTF8StringLength,
(void (*)(void *))(void (*)(void))objc_release,
SQLITE_UTF8); SQLITE_UTF8);
} else if ([object isKindOfClass: [OFData class]]) { } else if ([object isKindOfClass: [OFData class]]) {
OFData *copy = [object copy]; OFData *copy = [object copy];
code = sqlite3_bind_blob64(statement->_stmt, column, copy.items, code = sqlite3_bind_blob64(statement->_stmt, column, copy.items,
copy.count * copy.itemSize, releaseObject); copy.count * copy.itemSize,
(void (*)(void *))(void (*)(void))objc_release);
} else if ([object isEqual: [OFNull null]]) } else if ([object isEqual: [OFNull null]])
code = sqlite3_bind_null(statement->_stmt, column); code = sqlite3_bind_null(statement->_stmt, column);
else else

View file

@ -32,10 +32,11 @@
statement: (SL3PreparedStatement *)statement statement: (SL3PreparedStatement *)statement
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithObject: object return objc_autoreleaseReturnValue(
[[self alloc] initWithObject: object
column: column column: column
statement: statement statement: statement
errorCode: errorCode] autorelease]; errorCode: errorCode]);
} }
- (instancetype)initWithConnection: (SL3Connection *)connection - (instancetype)initWithConnection: (SL3Connection *)connection
@ -53,10 +54,10 @@
errorCode: errorCode]; errorCode: errorCode];
@try { @try {
_object = [object retain]; _object = objc_retain(object);
_statement = [statement retain]; _statement = objc_retain(statement);
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -65,8 +66,8 @@
- (void)dealloc - (void)dealloc
{ {
[_object release]; objc_release(_object);
[_statement release]; objc_release(_statement);
[super dealloc]; [super dealloc];
} }

View file

@ -30,8 +30,9 @@
+ (instancetype)exceptionWithStatement: (SL3PreparedStatement *)statement + (instancetype)exceptionWithStatement: (SL3PreparedStatement *)statement
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithStatement: statement return objc_autoreleaseReturnValue(
errorCode: errorCode] autorelease]; [[self alloc] initWithStatement: statement
errorCode: errorCode]);
} }
- (instancetype)initWithConnection: (SL3Connection *)connection - (instancetype)initWithConnection: (SL3Connection *)connection
@ -47,9 +48,9 @@
errorCode: errorCode]; errorCode: errorCode];
@try { @try {
_statement = [statement retain]; _statement = objc_retain(statement);
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -58,7 +59,7 @@
- (void)dealloc - (void)dealloc
{ {
[_statement release]; objc_release(_statement);
[super dealloc]; [super dealloc];
} }

View file

@ -29,8 +29,9 @@
+ (instancetype)exceptionWithConnection: (SL3Connection *)connection + (instancetype)exceptionWithConnection: (SL3Connection *)connection
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithConnection: connection return objc_autoreleaseReturnValue(
errorCode: errorCode] autorelease]; [[self alloc] initWithConnection: connection
errorCode: errorCode]);
} }
- (instancetype)init - (instancetype)init
@ -43,7 +44,7 @@
{ {
self = [super init]; self = [super init];
_connection = [connection retain]; _connection = objc_retain(connection);
_errorCode = errorCode; _errorCode = errorCode;
return self; return self;
@ -51,7 +52,7 @@
- (void)dealloc - (void)dealloc
{ {
[_connection release]; objc_release(_connection);
[super dealloc]; [super dealloc];
} }

View file

@ -24,8 +24,9 @@
+ (instancetype)exceptionWithStatement: (SL3PreparedStatement *)statement + (instancetype)exceptionWithStatement: (SL3PreparedStatement *)statement
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithStatement: statement return objc_autoreleaseReturnValue(
errorCode: errorCode] autorelease]; [[self alloc] initWithStatement: statement
errorCode: errorCode]);
} }
- (instancetype)initWithStatement: (SL3PreparedStatement *)statement - (instancetype)initWithStatement: (SL3PreparedStatement *)statement
@ -35,9 +36,9 @@
errorCode: errorCode]; errorCode: errorCode];
@try { @try {
_statement = [statement retain]; _statement = objc_retain(statement);
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -46,7 +47,7 @@
- (void)dealloc - (void)dealloc
{ {
[_statement release]; objc_release(_statement);
[super dealloc]; [super dealloc];
} }

View file

@ -31,9 +31,10 @@
flags: (int)flags flags: (int)flags
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithIRI: IRI return objc_autoreleaseReturnValue(
[[self alloc] initWithIRI: IRI
flags: flags flags: flags
errorCode: errorCode] autorelease]; errorCode: errorCode]);
} }
- (instancetype)initWithConnection: (SL3Connection *)connection - (instancetype)initWithConnection: (SL3Connection *)connection
@ -53,7 +54,7 @@
_IRI = [IRI copy]; _IRI = [IRI copy];
_flags = flags; _flags = flags;
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -62,7 +63,7 @@
- (void)dealloc - (void)dealloc
{ {
[_IRI release]; objc_release(_IRI);
[super dealloc]; [super dealloc];
} }

View file

@ -31,9 +31,10 @@
SQLStatement: (OFConstantString *)SQLStatement SQLStatement: (OFConstantString *)SQLStatement
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithConnection: connection return objc_autoreleaseReturnValue(
[[self alloc] initWithConnection: connection
SQLStatement: SQLStatement SQLStatement: SQLStatement
errorCode: errorCode] autorelease]; errorCode: errorCode]);
} }
- (instancetype)initWithConnection: (SL3Connection *)connection - (instancetype)initWithConnection: (SL3Connection *)connection
@ -50,9 +51,9 @@
errorCode: errorCode]; errorCode: errorCode];
@try { @try {
_SQLStatement = [SQLStatement retain]; _SQLStatement = objc_retain(SQLStatement);
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -61,7 +62,7 @@
- (void)dealloc - (void)dealloc
{ {
[_SQLStatement release]; objc_release(_SQLStatement);
[super dealloc]; [super dealloc];
} }

View file

@ -30,8 +30,9 @@
+ (instancetype)exceptionWithStatement: (SL3PreparedStatement *)statement + (instancetype)exceptionWithStatement: (SL3PreparedStatement *)statement
errorCode: (int)errorCode errorCode: (int)errorCode
{ {
return [[[self alloc] initWithStatement: statement return objc_autoreleaseReturnValue(
errorCode: errorCode] autorelease]; [[self alloc] initWithStatement: statement
errorCode: errorCode]);
} }
- (instancetype)initWithConnection: (SL3Connection *)connection - (instancetype)initWithConnection: (SL3Connection *)connection
@ -47,9 +48,9 @@
errorCode: errorCode]; errorCode: errorCode];
@try { @try {
_statement = [statement retain]; _statement = objc_retain(statement);
} @catch (id e) { } @catch (id e) {
[self release]; objc_release(self);
@throw e; @throw e;
} }
@ -58,7 +59,7 @@
- (void)dealloc - (void)dealloc
{ {
[_statement release]; objc_release(_statement);
[super dealloc]; [super dealloc];
} }