| 103 | } |
| 104 | |
| 105 | void Record_DeepClone |
| 106 | ( |
| 107 | const Record r, |
| 108 | Record clone |
| 109 | ) { |
| 110 | int entry_count = Record_length(r); |
| 111 | size_t required_record_size = sizeof(Entry) * entry_count; |
| 112 | |
| 113 | memcpy(clone->entries, r->entries, required_record_size); |
| 114 | |
| 115 | // Deep copy scalars |
| 116 | for(uint i = 0; i < entry_count; i++) { |
| 117 | if(r->entries[i].type == REC_TYPE_SCALAR) { |
| 118 | clone->entries[i].value.s = SI_CloneValue(r->entries[i].value.s); |
| 119 | } |
| 120 | } |
| 121 | } |
| 122 | |
| 123 | void Record_Merge |
| 124 | ( |
no test coverage detected