1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
$NetBSD: patch-src_merge.cxx,v 1.1 2012/12/21 10:29:47 dholland Exp $
In C++, deleting void pointers is undefined.
--- src/merge.cxx~ 1998-11-04 05:12:25.000000000 +0000
+++ src/merge.cxx
@@ -125,7 +125,7 @@ void buildHeap(void *data, size_t heapsi
if (cmpstatus > 0) {
memcpy( ((char *)data + (position * width) ), value, width);
// free(value);
- delete [] value;
+ delete [] (CHR *)value;
return;
} //child is bigger or same size, back through the loop
//again to find a place for value
@@ -140,7 +140,7 @@ void buildHeap(void *data, size_t heapsi
else {
memcpy(((char *)data+ (position * width) ), value, width);
// free(value);
- delete [] value;
+ delete [] (CHR *)value;
return;
}
}
@@ -188,6 +188,6 @@ void hsort(void *data, size_t nel, size_
buildHeap(data, i, width, compar, 0, 0);
}
// free(tmp);
- delete [] tmp;
+ delete [] (CHR *)tmp;
}
|