]> Dogcows Code - chaz/thecheat/blob - CheaterTypes.m
The Cheat 1.2
[chaz/thecheat] / CheaterTypes.m
1 //
2 // CheaterTypes.m
3 // The Cheat
4 //
5 // Created by Chaz McGarvey on 12/29/04.
6 // Copyright 2004 Chaz McGarvey. All rights reserved.
7 //
8
9 #import "CheaterTypes.h"
10
11
12 TCArray TCMakeArray( unsigned count, unsigned size )
13 {
14 TCArray array = (TCArray)malloc( sizeof(struct _TCArray) );
15
16 if ( array ) {
17 array->_bytes = malloc( count * size );
18
19 if ( array->_bytes ) {
20 array->_count = count;
21 array->_size = size;
22 array->_ownsBytes = YES;
23 }
24 else {
25 free( array );
26 return NULL;
27 }
28 }
29 return array;
30 }
31
32 TCArray TCMakeArrayWithBytes( unsigned count, unsigned size, void *bytes )
33 {
34 TCArray array = TCMakeArray( count, size );
35
36 if ( array && bytes ) {
37 memcpy( array->_bytes, bytes, count * size );
38 }
39 return array;
40 }
41
42 void TCReleaseArray( TCArray array )
43 {
44 if ( array && array->_ownsBytes ) {
45 free( array->_bytes );
46 free( array );
47 }
48 }
49
50
51 void TCArrayAppendArray( TCArray array, TCArray other )
52 {
53 unsigned oldCount = array->_count;
54 unsigned count = oldCount + other->_count;
55
56 if ( array->_size != other->_size ) {
57 return;
58 }
59
60 TCArrayResize( array, count );
61 if ( array->_count == count ) {
62 memcpy( array->_bytes + oldCount * array->_size, other->_bytes, other->_count * other->_size );
63 }
64 }
65
66
67 NSString *TCStringFromArray( TCArray array )
68 {
69 return [NSString stringWithFormat:@"{%p,%u,%u}", array->_bytes, array->_count, array->_size];
70 }
71
72
This page took 0.037108 seconds and 5 git commands to generate.