Browse Source

Use `dataWithBytes` instead of `memcpy`

Rob Ryan 11 years ago
parent
commit
aada6f6549
1 changed files with 5 additions and 4 deletions
  1. 5 4
      src/fmdb/FMResultSet.m

+ 5 - 4
src/fmdb/FMResultSet.m

@@ -290,12 +290,13 @@ - (NSData*)dataForColumnIndex:(int)columnIdx {
     }
     
     int dataSize = sqlite3_column_bytes([_statement statement], columnIdx);
+    const char *dataBuffer = sqlite3_column_blob([_statement statement], columnIdx);
     
-    NSMutableData *data = [NSMutableData dataWithLength:(NSUInteger)dataSize];
-    
-    memcpy([data mutableBytes], sqlite3_column_blob([_statement statement], columnIdx), (size_t)dataSize);
+    if (dataBuffer == NULL) {
+        return nil;
+    }
     
-    return data;
+    return [NSData dataWithBytes:(const void *)dataBuffer length:(NSUInteger)dataSize];
 }