| 799 |
|
if (scsrc->nfaces <= 0) |
| 800 |
|
return(0); |
| 801 |
|
/* map vertices */ |
| 802 |
< |
vert_map = (int *)emalloc(sizeof(int *)*scsrc->nverts); |
| 802 |
> |
vert_map = (int *)emalloc(sizeof(int)*scsrc->nverts); |
| 803 |
|
for (i = 0; i < scsrc->nverts; i++) { |
| 804 |
|
const Vertex *v = scsrc->vert + i; |
| 805 |
|
if (v->vflist == NULL) { |
| 830 |
|
if (f->mat != cur_mat) |
| 831 |
|
setMaterial(scdst, scsrc->matname[cur_mat = f->mat]); |
| 832 |
|
if (f->nv > vllen) { |
| 833 |
< |
if (vlist == my_vlist) |
| 834 |
< |
vlist = (VNDX *)emalloc( |
| 835 |
< |
sizeof(VNDX)*(vllen = f->nv)); |
| 836 |
< |
else |
| 837 |
< |
vlist = (VNDX *)erealloc((char *)vlist, |
| 838 |
< |
sizeof(VNDX)*(vllen = f->nv)); |
| 833 |
> |
vlist = (VNDX *)( vlist == my_vlist ? |
| 834 |
> |
emalloc(sizeof(VNDX)*f->nv) : |
| 835 |
> |
erealloc((char *)vlist, sizeof(VNDX)*f->nv) ); |
| 836 |
> |
vllen = f->nv; |
| 837 |
|
} |
| 838 |
|
memset(vlist, 0xff, sizeof(VNDX)*f->nv); |
| 839 |
|
for (i = f->nv; i-- > 0; ) { |