]> Dogcows Code - chaz/thecheat/blob - CheaterTypes.m
The Cheat 1.2.1
[chaz/thecheat] / CheaterTypes.m
1
2 // **********************************************************************
3 // The Cheat - A universal game cheater for Mac OS X
4 // (C) 2003-2005 Chaz McGarvey (BrokenZipper)
5 //
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 1, or (at your option)
9 // any later version.
10 //
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15 //
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software
18 // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 //
20
21
22 #import "CheaterTypes.h"
23
24
25 TCArray TCMakeArray( unsigned count, unsigned size )
26 {
27 TCArray array = (TCArray)malloc( sizeof(struct _TCArray) );
28
29 if ( array ) {
30 array->_bytes = malloc( count * size );
31
32 if ( array->_bytes ) {
33 array->_count = count;
34 array->_size = size;
35 array->_ownsBytes = YES;
36 }
37 else {
38 free( array );
39 return NULL;
40 }
41 }
42 return array;
43 }
44
45 TCArray TCMakeArrayWithBytes( unsigned count, unsigned size, void *bytes )
46 {
47 TCArray array = TCMakeArray( count, size );
48
49 if ( array && bytes ) {
50 memcpy( array->_bytes, bytes, count * size );
51 }
52 return array;
53 }
54
55 void TCReleaseArray( TCArray array )
56 {
57 if ( array && array->_ownsBytes ) {
58 free( array->_bytes );
59 free( array );
60 }
61 }
62
63
64 void TCArrayAppendArray( TCArray array, TCArray other )
65 {
66 unsigned oldCount = array->_count;
67 unsigned count = oldCount + other->_count;
68
69 if ( array->_size != other->_size ) {
70 return;
71 }
72
73 TCArrayResize( array, count );
74 if ( array->_count == count ) {
75 memcpy( array->_bytes + oldCount * array->_size, other->_bytes, other->_count * other->_size );
76 }
77 }
78
79
80 NSString *TCStringFromArray( TCArray array )
81 {
82 return [NSString stringWithFormat:@"{%p,%u,%u}", array->_bytes, array->_count, array->_size];
83 }
84
85
This page took 0.031939 seconds and 4 git commands to generate.