Changeset: 72339d448200 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=72339d448200 Modified Files: monetdb5/modules/mal/cluster.c Branch: Oct2014 Log Message:
Fix potential error: don't add BUNfirst twice. diffs (61 lines): diff --git a/monetdb5/modules/mal/cluster.c b/monetdb5/modules/mal/cluster.c --- a/monetdb5/modules/mal/cluster.c +++ b/monetdb5/modules/mal/cluster.c @@ -706,7 +706,7 @@ CLS_map(bat *RB, bat *CMAP, bat *B) { BATiter bi; BAT *rb, *cmap = NULL, *b = NULL; - BUN i = 0, bf, mf; + BUN i = 0, bf; wrd *m; if ((cmap = BATdescriptor(*CMAP)) == NULL || @@ -764,15 +764,14 @@ CLS_map(bat *RB, bat *CMAP, bat *B) } bi = bat_iterator(b); bf = BUNfirst(b); - mf = BUNfirst(cmap); m = (wrd*)Tloc(cmap, BUNfirst(cmap)); if (b->T->varsized) { for (i = 0; i < BATcount(b); i++) { - BUNinplace(rb, (BUN)m[mf+i], NULL, BUNtvar(bi, bf+i), 0); + BUNinplace(rb, (BUN)m[i], NULL, BUNtvar(bi, bf+i), 0); } } else { for (i = 0; i < BATcount(b); i++) { - BUNinplace(rb, (BUN)m[mf+i], NULL, BUNtloc(bi, bf+i), 0); + BUNinplace(rb, (BUN)m[i], NULL, BUNtloc(bi, bf+i), 0); } } BBPunfix(*CMAP); @@ -787,7 +786,7 @@ CLS_map2(bat *RB, bat *PSUM, bat *CMAP, { BATiter bi; BAT *rb, *psum = NULL, *cmap = NULL, *b = NULL; - BUN i = 0, bf, mf; + BUN i = 0, bf; bte *m; wrd *psumcp; @@ -875,17 +874,16 @@ CLS_map2(bat *RB, bat *PSUM, bat *CMAP, } bi = bat_iterator(b); bf = BUNfirst(b); - mf = BUNfirst(cmap); m = (bte*)Tloc(cmap, BUNfirst(cmap)); if (b->T->varsized) { for (i = 0; i < BATcount(b); i++) { - BUNinplace(rb, (BUN)(psumcp[m[mf+i]]), NULL, BUNtvar(bi, bf+i), 0); - psumcp[m[mf+i]]++; + BUNinplace(rb, (BUN)(psumcp[m[i]]), NULL, BUNtvar(bi, bf+i), 0); + psumcp[m[i]]++; } } else { for (i = 0; i < BATcount(b); i++) { - BUNinplace(rb, (BUN)(psumcp[m[mf+i]]), NULL, BUNtloc(bi, bf+i), 0); - psumcp[m[mf+i]]++; + BUNinplace(rb, (BUN)(psumcp[m[i]]), NULL, BUNtloc(bi, bf+i), 0); + psumcp[m[i]]++; } } GDKfree(psumcp); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list