Blob Blame History Raw
--- Singular-Release-4-2-1p3/Singular/idrec.h.orig	2021-12-17 11:35:18.000000000 -0700
+++ Singular-Release-4-2-1p3/Singular/idrec.h	2022-07-23 08:10:08.908714052 -0600
@@ -44,7 +44,6 @@ class idrec
 
   short      lev;
   short      ref;
-  unsigned long id_i;
 
   idrec() { memset(this,0,sizeof(*this)); }
   inline void Init() { memset(this,0,sizeof(*this)); }
--- Singular-Release-4-2-1p3/Singular/ipid.cc.orig	2021-12-17 11:35:18.000000000 -0700
+++ Singular-Release-4-2-1p3/Singular/ipid.cc	2022-07-23 08:55:42.510852256 -0600
@@ -62,38 +62,23 @@ void paCleanUp(package pack);
 
 /*0 implementation*/
 
-static inline long iiS2I(const char *s)
-{
-  long l;
-  strncpy((char*)&l,s,SIZEOF_LONG);
-  return l;
-}
-
 idhdl idrec::get(const char * s, int level)
 {
   assume(s!=NULL);
   assume((level>=0) && (level<=1000)); //not really, but if it isnt in that bounds..
   idhdl h = this;
   idhdl found=NULL;
-  int l;
-  const char *id_;
-  unsigned long i=iiS2I(s);
-  char *dummy=(char*)&i;
-  BOOLEAN less4=(dummy[SIZEOF_LONG-1]=='\0');
   while (h!=NULL)
   {
-    omCheckAddr((ADDRESS)IDID(h));
-    l=IDLEV(h);
+    const char *id_=IDID(h);
+    omCheckAddr((ADDRESS)id_);
+    int l=IDLEV(h);
     if ((l==0)||(l==level))
     {
-      if (i==h->id_i)
+      if (0 == strcmp(s, id_))
       {
-        id_=IDID(h);
-        if (less4 || (0 == strcmp(s+SIZEOF_LONG,id_+SIZEOF_LONG)))
-        {
-          if(l==level) return h;
-          found=h;
-        }
+        if(l==level) return h;
+        found=h;
       }
     }
     h = IDNEXT(h);
@@ -106,21 +91,14 @@ idhdl idrec::get_level(const char * s, i
   assume(s!=NULL);
   assume((level>=0) && (level<=1000)); //not really, but if it isnt in that bounds..
   idhdl h = this;
-  int l;
-  const char *id_;
-  unsigned long i=iiS2I(s);
-  int less4=(i < (1L<<((SIZEOF_LONG-1)*8)));
   while (h!=NULL)
   {
-    omCheckAddr((ADDRESS)IDID(h));
-    l=IDLEV(h);
-    if ((l==level)&&(i==h->id_i))
+    const char *id_=IDID(h);
+    omCheckAddr((ADDRESS)id_);
+    int l=IDLEV(h);
+    if ((l==level)&&(0 == strcmp(s, id_)))
     {
-      id_=IDID(h);
-      if (less4 || (0 == strcmp(s+SIZEOF_LONG,id_+SIZEOF_LONG)))
-      {
-        return h;
-      }
+      return h;
     }
     h = IDNEXT(h);
   }
@@ -243,7 +221,6 @@ idhdl idrec::set(const char * s, int lev
   IDLEV(h)  = level;
   IDNEXT(h) = this;
   BOOLEAN at_start=(this==IDROOT);
-  h->id_i=iiS2I(s);
   if (t==BUCKET_CMD) WarnS("defining polyBucket");
   if (init)
   {