diff --git a/ObjPgSQL.oc.in b/ObjPgSQL.oc.in index 40bb5e7..b5c760d 100644 --- a/ObjPgSQL.oc.in +++ b/ObjPgSQL.oc.in @@ -1,5 +1,5 @@ package_format 1 -CPPFLAGS="$CPPFLAGS @LIBPQ_CPPFLAGS@" +CPPFLAGS="$CPPFLAGS -I@includedir@ @LIBPQ_CPPFLAGS@" LIBS="-L@libdir@ -lobjpgsql @LIBPQ_LIBS@ $LIBS" FRAMEWORK_LIBS="-L@libdir@ -lobjpgsql @LIBPQ_LIBS@ $FRAMEWORK_LIBS" STATIC_LIBS="@libdir@/libobjpgsql.a @LIBPQ_LIBS@ $STATIC_LIBS" diff --git a/meson.build b/meson.build index ee2c9bd..4bf27e2 100644 --- a/meson.build +++ b/meson.build @@ -1,5 +1,5 @@ project('ObjPgSQL', 'objc', - version: '1.0', + version: '1.0.1', meson_version: '>= 1.5.0', default_options: { 'warning_level': '3', @@ -31,6 +31,7 @@ configure_file( input: 'ObjPgSQL.oc.in', output: 'ObjPgSQL.oc', configuration: { + 'includedir': get_option('prefix') / get_option('includedir'), 'libdir': get_option('prefix') / get_option('libdir'), 'LIBPQ_CPPFLAGS': libpq_cflags, 'LIBPQ_LIBS': libpq_libs, diff --git a/src/ObjPgSQL.h b/src/ObjPgSQL.h index 15cc62e..902a6c0 100644 --- a/src/ObjPgSQL.h +++ b/src/ObjPgSQL.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLConnection+Private.h b/src/PGSQLConnection+Private.h index 9138702..c8322a4 100644 --- a/src/PGSQLConnection+Private.h +++ b/src/PGSQLConnection+Private.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLConnection.h b/src/PGSQLConnection.h index d2add12..0da715b 100644 --- a/src/PGSQLConnection.h +++ b/src/PGSQLConnection.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLConnection.m b/src/PGSQLConnection.m index 4d6321f..6703229 100644 --- a/src/PGSQLConnection.m +++ b/src/PGSQLConnection.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -34,7 +34,7 @@ @try { _parameters = [[OFDictionary alloc] init]; } @catch (id e) { - [self release]; + objc_release(self); @throw e; } @@ -43,7 +43,7 @@ - (void)dealloc { - [_parameters release]; + objc_release(_parameters); [self close]; diff --git a/src/PGSQLResult+Private.h b/src/PGSQLResult+Private.h index ab31ad0..26c034a 100644 --- a/src/PGSQLResult+Private.h +++ b/src/PGSQLResult+Private.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLResult.h b/src/PGSQLResult.h index 82e3137..37daedc 100644 --- a/src/PGSQLResult.h +++ b/src/PGSQLResult.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLResult.m b/src/PGSQLResult.m index 9798f21..a477c3e 100644 --- a/src/PGSQLResult.m +++ b/src/PGSQLResult.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -26,7 +26,8 @@ + (instancetype)pg_resultWithResult: (PGresult *)result { - return [[[self alloc] pg_initWithResult: result] autorelease]; + return objc_autoreleaseReturnValue( + [[self alloc] pg_initWithResult: result]); } - (instancetype)pg_initWithResult: (PGresult *)result diff --git a/src/PGSQLResultRow+Private.h b/src/PGSQLResultRow+Private.h index 15b9509..263cc88 100644 --- a/src/PGSQLResultRow+Private.h +++ b/src/PGSQLResultRow+Private.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLResultRow.h b/src/PGSQLResultRow.h index 06cd335..3291bd8 100644 --- a/src/PGSQLResultRow.h +++ b/src/PGSQLResultRow.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/PGSQLResultRow.m b/src/PGSQLResultRow.m index edc1e4d..c5cc316 100644 --- a/src/PGSQLResultRow.m +++ b/src/PGSQLResultRow.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -65,23 +65,29 @@ convertType(PGresult *res, int column, OFString *string) @implementation PGSQLResultRow + (instancetype)pg_rowWithResult: (PGSQLResult *)result row: (int)row { - return [[[self alloc] pg_initWithResult: result row: row] autorelease]; + return objc_autoreleaseReturnValue( + [[self alloc] pg_initWithResult: result row: row]); } - (instancetype)pg_initWithResult: (PGSQLResult *)result row: (int)row { self = [super init]; - _result = [result retain]; - _res = result.pg_result; - _row = row; + @try { + _result = objc_retain(result); + _res = result.pg_result; + _row = row; + } @catch (id e) { + objc_release(self); + @throw e; + } return self; } - (void)dealloc { - [_result release]; + objc_release(_result); [super dealloc]; } @@ -115,16 +121,16 @@ convertType(PGresult *res, int column, OFString *string) - (OFEnumerator *)keyEnumerator { - return [[[PGSQLResultRowKeyEnumerator alloc] - initWithResult: _result - row: _row] autorelease]; + return objc_autoreleaseReturnValue( + [[PGSQLResultRowKeyEnumerator alloc] initWithResult: _result + row: _row]); } - (OFEnumerator *)objectEnumerator { - return [[[PGSQLResultRowObjectEnumerator alloc] - initWithResult: _result - row: _row] autorelease]; + return objc_autoreleaseReturnValue( + [[PGSQLResultRowObjectEnumerator alloc] initWithResult: _result + row: _row]); } - (int)countByEnumeratingWithState: (OFFastEnumerationState *)state @@ -165,17 +171,22 @@ convertType(PGresult *res, int column, OFString *string) { self = [super init]; - _result = [result retain]; - _res = result.pg_result; - _row = row; - _count = PQnfields(_res); + @try { + _result = objc_retain(result); + _res = result.pg_result; + _row = row; + _count = PQnfields(_res); + } @catch (id e) { + objc_release(self); + @throw e; + } return self; } - (void)dealloc { - [_result release]; + objc_release(_result); [super dealloc]; } diff --git a/src/exceptions/PGSQLConnectionFailedException.h b/src/exceptions/PGSQLConnectionFailedException.h index be620ed..3d28302 100644 --- a/src/exceptions/PGSQLConnectionFailedException.h +++ b/src/exceptions/PGSQLConnectionFailedException.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/exceptions/PGSQLConnectionFailedException.m b/src/exceptions/PGSQLConnectionFailedException.m index 1a21b17..a5e6bb7 100644 --- a/src/exceptions/PGSQLConnectionFailedException.m +++ b/src/exceptions/PGSQLConnectionFailedException.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/exceptions/PGSQLException.h b/src/exceptions/PGSQLException.h index 7fb9485..8c373b1 100644 --- a/src/exceptions/PGSQLException.h +++ b/src/exceptions/PGSQLException.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/exceptions/PGSQLException.m b/src/exceptions/PGSQLException.m index 1979851..907d285 100644 --- a/src/exceptions/PGSQLException.m +++ b/src/exceptions/PGSQLException.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -29,7 +29,8 @@ + (instancetype)exceptionWithConnection: (PGSQLConnection *)connection { - return [[[self alloc] initWithConnection: connection] autorelease]; + return objc_autoreleaseReturnValue( + [[self alloc] initWithConnection: connection]); } - (instancetype)init @@ -42,12 +43,12 @@ self = [super init]; @try { - _connection = [connection retain]; + _connection = objc_retain(connection); _errorMessage = [[OFString alloc] initWithCString: PQerrorMessage([_connection pg_connection]) encoding: [OFLocale encoding]]; } @catch (id e) { - [self release]; + objc_release(self); @throw e; } @@ -56,8 +57,8 @@ - (void)dealloc { - [_connection release]; - [_errorMessage release]; + objc_release(_connection); + objc_release(_errorMessage); [super dealloc]; } diff --git a/src/exceptions/PGSQLExecuteCommandFailedException.h b/src/exceptions/PGSQLExecuteCommandFailedException.h index 6989735..4039d2f 100644 --- a/src/exceptions/PGSQLExecuteCommandFailedException.h +++ b/src/exceptions/PGSQLExecuteCommandFailedException.h @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above diff --git a/src/exceptions/PGSQLExecuteCommandFailedException.m b/src/exceptions/PGSQLExecuteCommandFailedException.m index 833b6c3..04fbade 100644 --- a/src/exceptions/PGSQLExecuteCommandFailedException.m +++ b/src/exceptions/PGSQLExecuteCommandFailedException.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -29,8 +29,9 @@ + (instancetype)exceptionWithConnection: (PGSQLConnection *)connection command: (OFConstantString *)command { - return [[[self alloc] initWithConnection: connection - command: command] autorelease]; + return objc_autoreleaseReturnValue( + [[self alloc] initWithConnection: connection + command: command]); } - (instancetype)initWithConnection: (PGSQLConnection *)connection @@ -46,7 +47,7 @@ @try { _command = [command copy]; } @catch (id e) { - [self release]; + objc_release(self); @throw e; } @@ -55,7 +56,7 @@ - (void)dealloc { - [_command release]; + objc_release(_command); [super dealloc]; } diff --git a/tests/Tests.m b/tests/Tests.m index 8b9fc89..428ddb8 100644 --- a/tests/Tests.m +++ b/tests/Tests.m @@ -1,7 +1,7 @@ /* - * Copyright (c) 2012 - 2019, 2021, 2024 Jonathan Schleifer + * Copyright (c) 2012 - 2019, 2021, 2024, 2025 Jonathan Schleifer * - * https://fl.nil.im/objpgsql + * https://git.nil.im/ObjFW/ObjPgSQL * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above