Rev 7286 | Rev 7771 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7286 | Rev 7738 | ||
---|---|---|---|
Line 14... | Line 14... | ||
14 | dword data_start; |
14 | dword data_start; |
15 | dword data_size; |
15 | dword data_size; |
16 | dword element_offset[4000]; |
16 | dword element_offset[4000]; |
17 | int add(); |
17 | int add(); |
18 | int addn(); |
18 | int addn(); |
- | 19 | dword get(); //get_name_by_pos |
|
19 | dword get(); |
20 | dword get_pos_by_name(); |
20 | void drop(); |
21 | void drop(); |
21 | void increase_data_size(); |
22 | void increase_data_size(); |
22 | }; |
23 | }; |
Line 23... | Line 24... | ||
23 | 24 | ||
Line 54... | Line 55... | ||
54 | :dword collection::get(dword pos) { |
55 | :dword collection::get(dword pos) { |
55 | if (pos<0) || (pos>=count) return 0; |
56 | if (pos<0) || (pos>=count) return 0; |
56 | return data_start + element_offset[pos]; |
57 | return data_start + element_offset[pos]; |
57 | } |
58 | } |
Line -... | Line 59... | ||
- | 59 | ||
- | 60 | :dword collection::get_pos_by_name(dword name) { |
|
- | 61 | dword i; |
|
- | 62 | for (i=0; i |
|
- | 63 | if (strcmp(data_start + element_offset[i], name)==0) return i; |
|
- | 64 | } |
|
- | 65 | return -1; |
|
- | 66 | } |
|
58 | 67 | ||
59 | :void collection::drop() { |
68 | :void collection::drop() { |
60 | if (data_start) free(data_start); |
69 | if (data_start) free(data_start); |
61 | data_size = data_start = element_offset[count] = count = 0; |
70 | data_size = data_start = element_offset[count] = count = 0; |