Changeset: f01bb2c9446a for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f01bb2c9446a Modified Files: common/utils/mstring.h gdk/gdk_bat.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_instruction.c Branch: default Log Message:
Backed out changeset 4f06f1996188 diffs (103 lines): diff --git a/common/utils/mstring.h b/common/utils/mstring.h --- a/common/utils/mstring.h +++ b/common/utils/mstring.h @@ -76,25 +76,4 @@ strconcat_len(char *restrict dst, size_t return i; } -/* convert integer into string, BUT this code does NOT deal with NEGATIVE INTEGERS! */ -static inline char * -int_to_str(char *restrict dst, int i) -{ - char const digit[] = "0123456789"; - int shift = i; - - assert(i > 0); - do { /* Find end of string */ - ++dst; - shift /= 10; - } while (shift); - - *dst = '\0'; - do { /* Insert digits value while going back */ - *--dst = digit[i%10]; - i /= 10; - } while (i); - return dst; -} - #endif diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -139,9 +139,9 @@ BATcreatedesc(oid hseq, int tt, bool hea assert(bn->theap == NULL); } char name[MT_NAME_LEN]; - int_to_str(stpcpy(name, "heaplock"), bn->batCacheid); /* fits */ + snprintf(name, sizeof(name), "heaplock%d", bn->batCacheid); /* fits */ MT_lock_init(&bn->theaplock, name); - int_to_str(stpcpy(name, "BATlock"), bn->batCacheid); /* fits */ + snprintf(name, sizeof(name), "BATlock%d", bn->batCacheid); /* fits */ MT_lock_init(&bn->batIdxLock, name); bn->batDirtydesc = true; return bn; diff --git a/monetdb5/mal/mal_dataflow.c b/monetdb5/mal/mal_dataflow.c --- a/monetdb5/mal/mal_dataflow.c +++ b/monetdb5/mal/mal_dataflow.c @@ -839,8 +839,7 @@ runMALdataflow(Client cntxt, MalBlkPtr m } workers[i].flag = RUNNING; char name[MT_NAME_LEN]; - int_to_str(stpcpy(name, "DFLOWworker"), i); /* should fit */ - assert(strlen(name) < MT_NAME_LEN); + snprintf(name, sizeof(name), "DFLOWworker%d", i); if ((workers[i].errbuf = GDKmalloc(GDKMAXERRLEN)) == NULL || (workers[i].id = THRcreate(DFLOWworker, (void *) &workers[i], MT_THR_JOINABLE, name)) == 0) { diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c --- a/monetdb5/mal/mal_instruction.c +++ b/monetdb5/mal/mal_instruction.c @@ -773,6 +773,24 @@ setVariableType(MalBlkPtr mb, const int clrVarCleanup(mb, n); } +static inline void +myitoa(char *p, int i) /* convert integer into string, but this code doesn't deal with negative integers! */ +{ + char const digit[] = "0123456789"; + int shift = i; + + do { /* Find end of string */ + ++p; + shift /= 10; + } while (shift); + + *p = '\0'; + do { /* Insert digits value while going back */ + *--p = digit[i%10]; + i /= 10; + } while (i); +} + int newVariable(MalBlkPtr mb, const char *name, size_t len, malType type) { @@ -792,7 +810,7 @@ newVariable(MalBlkPtr mb, const char *na /* Don't call snprintf because it's expensive on this common code */ vname[0] = REFMARKER; vname[1] = TMPMARKER; - int_to_str(vname + 2, mb->vid++); + myitoa(vname + 2, mb->vid++); assert(strlen(vname) < IDLENGTH); } else { @@ -940,7 +958,7 @@ trimMalVariables_(MalBlkPtr mb, MalStkPt /* Don't call snprintf because it's too expensive on this common code */ vname[0] = REFMARKER; vname[1] = TMPMARKER; - int_to_str(vname + 2, mb->vid++); + myitoa(vname + 2, mb->vid++); assert(strlen(vname) < IDLENGTH); } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list