Changeset c12cf96 in git for Singular/subexpr.cc


Ignore:
Timestamp:
Sep 29, 1998, 12:39:12 PM (26 years ago)
Author:
Kai Krüger <krueger@…>
Branches:
(u'spielwiese', 'fe61d9c35bf7c61f2b6cbf1b56e25e2f08d536cc')
Children:
c898336d2b07c6834ddddbc81515f8b883795ba3
Parents:
9ccebb1f2afc97ac52cb586d379fed91a6b84060
Message:
Modified Files:
 	* subexpr.h subexpr.cc
	Added packhdl and req_packhdl to sleftv (needed by namespaces)
	Added char * Fullname() to sleftv
        Changed syMake() for it.
        Added char *iiSleftv2name(leftv v)


git-svn-id: file:///usr/local/Singular/svn/trunk@2523 2c84dea3-7e68-4137-9b89-c4e89433aadc
File:
1 edited

Legend:

Unmodified
Added
Removed
  • Singular/subexpr.cc

    r9ccebb rc12cf96  
    243243  }
    244244  name=NULL;
     245#ifdef HAVE_NAMESPACES
     246  packhdl = NULL;
     247  req_packhdl = NULL;
     248#endif /* HAVE_NAMESPACES */
    245249  if (data!=NULL)
    246250  {
     
    10491053#endif
    10501054  memset(v,0,sizeof(sleftv));
     1055#ifdef HAVE_NAMESPACES
     1056  v->packhdl = NULL;
     1057  if(packhdl != NULL)
     1058    v->req_packhdl = packhdl;
     1059  else v->req_packhdl = namespaceroot->get(namespaceroot->name, 0, TRUE);
     1060#endif /* HAVE_NAMESPACES */
    10511061#ifdef SIQ
    10521062  if (siq<=0)
     
    10731083        }
    10741084      }
     1085#ifdef HAVE_NAMESPACES
     1086      if (strcmp(id,"Current")==0)
     1087      {
     1088        h = namespaceroot->get(namespaceroot->name,0, TRUE);
     1089        if (id!=IDID(h)) FreeL((ADDRESS)id);
     1090        v->rtyp = IDHDL;
     1091        v->data = (char *)h;
     1092        v->flag = IDFLAG(h);
     1093        v->name = IDID(h);
     1094        v->attribute=IDATTR(h);
     1095        return;
     1096      }
     1097      h=ggetid(id, packhdl==NULL ? FALSE : TRUE, &(v->packhdl));
     1098      //if(h==NULL) Print("syMake: h is null\n");
     1099#else /* HAVE_NAMESPACES */
    10751100      h=ggetid(id);
     1101#endif /* HAVE_NAMESPACES */
    10761102      /* 3) existing identifier, local */
    10771103      if ((h!=NULL) && (IDLEV(h)==myynest))
     
    13481374}
    13491375
     1376
     1377char *iiSleftv2name(leftv v)
     1378{
     1379#ifdef HAVE_NAMESPACES
     1380  char *name;
     1381  if(v->packhdl != NULL) {
     1382    name = (char *)AllocL(strlen(v->name) + strlen(IDID(v->packhdl)) + 3);
     1383    sprintf(name, "%s::%s", IDID(v->packhdl), v->name);
     1384    return(name);
     1385  }
     1386  else
     1387  {
     1388    return(v->name);
     1389  }
     1390#else /* HAVE_NAMESPACES */
     1391  return(v->name);
     1392#endif /* HAVE_NAMESPACES */
     1393}
Note: See TracChangeset for help on using the changeset viewer.