@@ -32,18 +32,18 @@ if ([string isEqual: @"t"]) return [OFNumber numberWithBool: YES]; else return [OFNumber numberWithBool: NO]; case 21: /* INT2OID */ - return [OFNumber numberWithInt16: - (int16_t)string.decimalValue]; + return [OFNumber numberWithShort: + (short)[string longLongValueWithBase: 10]]; case 23: /* INT4OID */ - return [OFNumber numberWithInt32: - (int32_t)string.decimalValue]; + return [OFNumber numberWithLong: + (long)[string longLongValueWithBase: 10]]; case 20: /* INT8OID */ - return [OFNumber numberWithInt64: - (int64_t)string.decimalValue]; + return [OFNumber numberWithLongLong: + [string longLongValueWithBase: 10]]; case 700: /* FLOAT4OID */ return [OFNumber numberWithFloat: string.floatValue]; case 701: /* FLOAT8OID */ return [OFNumber numberWithDouble: string.doubleValue]; } @@ -56,30 +56,26 @@ PGResult *_result; PGresult *_res; int _row, _pos, _count; } -- initWithResult: (PGResult*)result - row: (int)row; +- initWithResult: (PGResult*)result row: (int)row; @end @interface PGResultRowKeyEnumerator: PGResultRowEnumerator @end @interface PGResultRowObjectEnumerator: PGResultRowEnumerator @end @implementation PGResultRow -+ (instancetype)rowWithResult: (PGResult *)result - row: (int)row ++ (instancetype)rowWithResult: (PGResult *)result row: (int)row { - return [[[self alloc] initWithResult: result - row: row] autorelease]; + return [[[self alloc] initWithResult: result row: row] autorelease]; } -- (instancetype)initWithResult: (PGResult *)result - row: (int)row +- (instancetype)initWithResult: (PGResult *)result row: (int)row { self = [super init]; _result = [result retain]; _res = result.pg_result; @@ -134,11 +130,11 @@ return [[[PGResultRowObjectEnumerator alloc] initWithResult: _result row: _row] autorelease]; } -- (int)countByEnumeratingWithState: (of_fast_enumeration_state_t*)state +- (int)countByEnumeratingWithState: (OFFastEnumerationState *)state objects: (id *)objects count: (int)count { int i, j; @@ -168,12 +164,11 @@ return j; } @end @implementation PGResultRowEnumerator -- (instancetype)initWithResult: (PGResult *)result - row: (int)row +- (instancetype)initWithResult: (PGResult *)result row: (int)row { self = [super init]; _result = [result retain]; _res = result.pg_result;