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

Reply via email to