Changeset 5edb77 in git


Ignore:
Timestamp:
Nov 20, 2012, 7:16:16 PM (10 years ago)
Author:
Hans Schoenemann <hannes@…>
Branches:
(u'jengelh-datetime', 'ceac47cbc86fe4a15902392bdbb9bd2ae0ea02c6')(u'spielwiese', 'a800fe4b3e9d37a38c5a10cc0ae9dfa0c15a4ee6')
Children:
e3b071b7b8022789a70d9aeead7d9b8159679c57
Parents:
8e51caea071beef6e0f3c31472a9553c63c8df6d
Message:
fix: iiMake_proc (gcc 4.7)
Location:
Singular
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Singular/iparith.cc

    r8e51ca r5edb77  
    15571557  int typ;
    15581558  BOOLEAN t=FALSE;
     1559  idhdl tmp_proc=NULL;
    15591560  if ((u->rtyp!=IDHDL)||(u->e!=NULL))
    15601561  {
    1561     idrec tmp_proc;
    1562     tmp_proc.id="_auto";
    1563     tmp_proc.typ=PROC_CMD;
    1564     tmp_proc.data.pinf=(procinfo *)u->Data();
    1565     tmp_proc.ref=1;
    1566     d=u->data; u->data=(void *)&tmp_proc;
     1562    tmp_proc=(idhdl)omAlloc0(sizeof(idrec));
     1563    tmp_proc->id="_auto";
     1564    tmp_proc->typ=PROC_CMD;
     1565    tmp_proc->data.pinf=(procinfo *)u->Data();
     1566    tmp_proc->ref=1;
     1567    d=u->data; u->data=(void *)tmp_proc;
    15671568    e=u->e; u->e=NULL;
    15681569    t=TRUE;
    15691570    typ=u->rtyp; u->rtyp=IDHDL;
    15701571  }
    1571   leftv sl;
     1572  BOOLEAN sl;
    15721573  if (u->req_packhdl==currPack)
    15731574    sl = iiMake_proc((idhdl)u->data,NULL,v);
     
    15791580    u->data=d;
    15801581    u->e=e;
    1581   }
    1582   if (sl==NULL)
    1583   {
    1584     return TRUE;
    1585   }
    1586   else
    1587   {
    1588     memcpy(res,&iiRETURNEXPR,sizeof(sleftv));
    1589   }
     1582    omFreeSize(tmp_proc,sizeof(idrec));
     1583  }
     1584  if (sl) return TRUE;
     1585  memcpy(res,&iiRETURNEXPR,sizeof(sleftv));
    15901586  iiRETURNEXPR.Init();
    15911587  return FALSE;
  • Singular/iplib.cc

    r8e51ca r5edb77  
    426426  }
    427427}
    428 sleftv * iiMake_proc(idhdl pn, package pack, sleftv* sl)
     428BOOLEAN iiMake_proc(idhdl pn, package pack, sleftv* sl)
    429429{
    430430  int err;
     
    434434    Werror("'%s::%s()' is a local procedure and cannot be accessed by an user.",
    435435           pi->libname, pi->procname);
    436     return NULL;
     436    return TRUE;
    437437  }
    438438  iiCheckNest();
     
    601601  procstack->pop();
    602602  if (err)
    603     return NULL;
    604   return &iiRETURNEXPR;
     603    return TRUE;
     604  return FALSE;
    605605}
    606606
  • Singular/ipshell.h

    r8e51ca r5edb77  
    192192int     iiDeclCommand(leftv sy, leftv name, int lev, int t, idhdl* root,
    193193  BOOLEAN isring = FALSE, BOOLEAN init_b=TRUE);
    194 sleftv * iiMake_proc(idhdl pn, package pack, sleftv* sl);
     194BOOLEAN iiMake_proc(idhdl pn, package pack, sleftv* sl);
    195195// from misc.cc:
    196196char *  showOption();
  • Singular/newstruct.cc

    r8e51ca r5edb77  
    5757    if (p!=NULL)
    5858    {
    59       leftv sl;
     59      BOOLEAN sl;
    6060      sleftv tmp;
    6161      memset(&tmp,0,sizeof(tmp));
     
    7070      sl=iiMake_proc(&hh,NULL,&tmp);
    7171
    72       if (sl->Typ() == STRING_CMD)
    73       {
    74         char *res = omStrDup((char*)sl->Data());
    75         sl->CleanUp();
     72      if (sl&& (iiRETURNEXPR.Typ() == STRING_CMD))
     73      {
     74        char *res = omStrDup((char*)iiRETURNEXPR.Data());
     75        iiRETURNEXPR.CleanUp();
    7676        iiRETURNEXPR.Init();
    7777        return res;
    7878      }
    79       sl->CleanUp();
     79      iiRETURNEXPR.CleanUp();
    8080      iiRETURNEXPR.Init();
    8181    }
     
    177177  if (p!=NULL)
    178178  {
     179    BOOLEAN sl;
    179180    idrec hh;
    180181    memset(&hh,0,sizeof(hh));
     
    185186    memset(&tmp,0,sizeof(sleftv));
    186187    tmp.Copy(r);
    187     leftv sl = iiMake_proc(&hh, NULL, &tmp);
    188     if (sl != NULL)
    189     {
    190       if (sl->Typ() == op)
    191       {
    192         l->Copy(sl);
     188    sl = iiMake_proc(&hh, NULL, &tmp);
     189    if (!sl)
     190    {
     191      if (iiRETURNEXPR.Typ() == op)
     192      {
     193        l->Copy(&iiRETURNEXPR);
    193194        iiRETURNEXPR.Init();
    194195        return FALSE;
    195196      }
    196       sl->CleanUp();
     197      iiRETURNEXPR.CleanUp();
    197198      iiRETURNEXPR.Init();
    198199    }
     
    258259  }
    259260
    260   else if(l->Typ() > MAX_TOK)
     261  else
    261262  {
    262263    assume(l->Typ() > MAX_TOK);
     
    280281  if (p!=NULL)
    281282  {
    282     leftv sl;
     283    BOOLEAN sl;
    283284    sleftv tmp;
    284285    memset(&tmp,0,sizeof(sleftv));
     
    290291    hh.data.pinf=p->p;
    291292    sl=iiMake_proc(&hh,NULL,&tmp);
    292     if (sl==NULL) return TRUE;
     293    if (sl) return TRUE;
    293294    else
    294295    {
    295       res->Copy(sl);
     296      res->Copy(&iiRETURNEXPR);
    296297      iiRETURNEXPR.Init();
    297298      return FALSE;
     
    409410  if (p!=NULL)
    410411  {
    411     leftv sl;
     412    BOOLEAN sl;
    412413    sleftv tmp;
    413414    memset(&tmp,0,sizeof(sleftv));
     
    421422    hh.data.pinf=p->p;
    422423    sl=iiMake_proc(&hh,NULL,&tmp);
    423     if (sl==NULL) return TRUE;
     424    if (sl) return TRUE;
    424425    else
    425426    {
    426       res->Copy(sl);
     427      res->Copy(&iiRETURNEXPR);
    427428      iiRETURNEXPR.Init();
    428429      return FALSE;
     
    455456  if (p!=NULL)
    456457  {
    457     leftv sl;
     458    BOOLEAN sl;
    458459    sleftv tmp;
    459460    memset(&tmp,0,sizeof(sleftv));
     
    465466    hh.data.pinf=p->p;
    466467    sl=iiMake_proc(&hh,NULL,&tmp);
    467     if (sl==NULL) return TRUE;
     468    if (sl) return TRUE;
    468469    else
    469470    {
    470       res->Copy(sl);
     471      res->Copy(&iiRETURNEXPR);
    471472      iiRETURNEXPR.Init();
    472473      return FALSE;
     
    593594  if (p!=NULL)
    594595  {
    595     leftv sl;
     596    BOOLEAN sl;
    596597    sleftv tmp;
    597598    memset(&tmp,0,sizeof(tmp));
     
    604605    hh.data.pinf=p->p;
    605606    sl=iiMake_proc(&hh,NULL,&tmp);
    606     if (sl!=NULL) sl->CleanUp();
     607    if (!sl) iiRETURNEXPR.CleanUp();
    607608    iiRETURNEXPR.Init();
    608609  }
     
    745746  return scanNewstructFromString(s,res);
    746747}
    747 
    748748void newstructShow(newstruct_desc d)
    749749{
  • Singular/subexpr.cc

    r8e51ca r5edb77  
    16471647        if(!nok)
    16481648        {
    1649           leftv r=iiMake_proc(h,req_packhdl,&d->arg2);
    1650           if (r!=NULL)
    1651             memcpy(this,r,sizeof(sleftv));
    1652           else
    1653             nok=TRUE;
     1649          nok=iiMake_proc(h,req_packhdl,&d->arg2);
     1650          if (!nok)
     1651            memcpy(this,&iiRETURNEXPR,sizeof(sleftv));
    16541652        }
    16551653      }
Note: See TracChangeset for help on using the changeset viewer.