| 199 | } |
| 200 | |
| 201 | void* _omDebugMemDup(void* addr, omTrackFlags_t flags, OM_CTFL_DECL) |
| 202 | { |
| 203 | void* ret; |
| 204 | size_t sizeW; |
| 205 | OM_R_DEF; |
| 206 | |
| 207 | check = MAX(check, om_Opts.MinCheck); |
| 208 | track = MAX(track, om_Opts.MinTrack); |
| 209 | check = MIN(check, om_Opts.MaxCheck); |
| 210 | track = MIN(track, om_Opts.MaxTrack); |
| 211 | |
| 212 | if (check & _omCheckAddr(addr, 0, OM_FUSED, check, omError_NoError, OM_FLR_VAL)) |
| 213 | { |
| 214 | return NULL; |
| 215 | } |
| 216 | else |
| 217 | { |
| 218 | sizeW = omSizeWOfAddr(addr); |
| 219 | } |
| 220 | |
| 221 | ret = __omDebugAlloc((void*) (sizeW << LOG_SIZEOF_LONG), OM_FSIZE | flags, track, OM_FLR_VAL); |
| 222 | omMemcpyW(ret, addr, sizeW); |
| 223 | |
| 224 | #ifdef OM_INTERNAL_DEBUG |
| 225 | (void) _omCheckAddr(ret, (void*) (sizeW << LOG_SIZEOF_LONG),OM_FUSED|OM_FSIZE, |
| 226 | check, omError_InternalBug, OM_FLR); |
| 227 | #endif |
| 228 | return ret; |
| 229 | } |
| 230 | |
| 231 | char* _omDebugStrDup(const char* addr, OM_TFL_DECL) |
| 232 | { |
nothing calls this directly
no test coverage detected