Changeset befd6b5 in git


Ignore:
Timestamp:
Nov 4, 1998, 7:28:03 PM (26 years ago)
Author:
Hans Schönemann <hannes@…>
Branches:
(u'fieker-DuVal', '117eb8c30fc9e991c4decca4832b1d19036c4c65')(u'spielwiese', 'c7af8613769b29c741d6c338945669719f1fc4f8')
Children:
d7636055b39f447ce00cc07c3de201dd0994d353
Parents:
ef9012388a0946179667c3422d71730fdeefe8b6
Message:
*hannes: fixed some memory leaks


git-svn-id: file:///usr/local/Singular/svn/trunk@2635 2c84dea3-7e68-4137-9b89-c4e89433aadc
Location:
Singular
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Singular/ipconv.cc

    ref9012 rbefd6b5  
    22*  Computer Algebra System SINGULAR     *
    33****************************************/
    4 /* $Id: ipconv.cc,v 1.12 1998-10-21 10:25:31 krueger Exp $ */
     4/* $Id: ipconv.cc,v 1.13 1998-11-04 18:28:02 Singular Exp $ */
    55/*
    66* ABSTRACT: automatic type conversions
     
    3030};
    3131
     32// all of these static conversion routines work destructive on their input
     33
    3234static void * iiI2P(void *data)
    3335{
     
    8890  MATROWS(m)=h;
    8991  m->rank=h;
     92  pDelete((poly *)&data);
    9093  return (void *)m;
    9194}
     
    135138    }
    136139  }
     140  delete iv;
    137141  return (void *)m;
    138142}
     
    146150    pSetCoeff(p,(number)data);
    147151  }
     152  else
     153  {
     154    nDelete((number *)&data);
     155  } 
    148156  return (void *)p;
    149157}
     
    158166    I->m[0]=p;
    159167  }
     168  else
     169  {
     170    nDelete((number *)&data);
     171  } 
    160172  return (void *)I;
    161173}
     
    165177  si_link l=(si_link)Alloc0(sizeof(ip_link));
    166178  slInit(l, (char *) data);
     179  FreeL((ADDRESS)data);
    167180  return (void *)l;
    168181}
  • Singular/libparse.l

    ref9012 rbefd6b5  
    33*  Computer Algebra System SINGULAR     *
    44****************************************/
    5 /* $Id: libparse.l,v 1.28 1998-10-21 10:25:37 krueger Exp $ */
     5/* $Id: libparse.l,v 1.29 1998-11-04 18:28:03 Singular Exp $ */
    66#include <stdio.h>
    77#include <string.h>
     
    158158#  ifdef HAVE_NAMESPACES
    159159#    define YY_DECL int yylex(char *newlib, char *libfile, \
    160                                lib_style_types *lib_style, \
    161                                idhdl pl, BOOLEAN autoexport, lp_modes mode)
     160                               lib_style_types *lib_style, \
     161                               idhdl pl, BOOLEAN autoexport, lp_modes mode)
    162162#  else /* HAVE_NAMESPACES */
    163163#    define YY_DECL int yylex(char *newlib, char *libfile, \
     
    242242\/\/*      { old_state = YYSTATE; BEGIN(comment); }
    243243
    244 (info+{eqnl}+{quote}+{strings}+{quote}) { 
     244(info+{eqnl}+{quote}+{strings}+{quote}) {
    245245         yyless(4); old_state = YYSTATE; BEGIN(info);
    246246       }
     
    248248(version+{eqnl}+{quote}+{strings}+{quote}) {
    249249             found_version++;
    250              if ( mode != GET_INFO ) {
     250             if ( mode != GET_INFO )
     251             {
    251252               make_version(yytext,1);
    252253#ifdef STANDALONE_PARSER
     
    256257               h0 = enterid( mstrdup("version"), myynest, STRING_CMD,
    257258                                  &IDPACKAGE(pl)->idroot, FALSE );
    258                 if (h0!=NULL) {
     259                if (h0!=NULL)
     260                {
    259261                   IDSTRING(h0) = mstrdup(libnamebuf);
    260262                }
     
    279281#endif
    280282#ifdef STANDALONE_PARSER
    281                if ( pi != NULL ) {
     283               if ( pi != NULL )
     284               {
    282285                 printpi(pi);
    283286                 pi_clear(pi);
     
    287290                                        current_pos(0), p_static);
    288291#else STANDALONE_PARSER
    289              if( mode == LOAD_LIB) {
     292             if( mode == LOAD_LIB)
     293             {
    290294#  ifdef HAVE_NAMESPACES
    291295                h0 = enterid( mstrdup(proc), myynest, PROC_CMD,
    292296                                  &IDPACKAGE(pl)->idroot, TRUE);
    293                 if(!p_static && autoexport) {
     297                if(!p_static && autoexport)
     298                {
    294299                   namespaceroot->push( NSPACK(namespaceroot->root) ,"");
    295300                   h_top = enterid( mstrdup(proc), myynest, PROC_CMD,
     
    301306                                   &idroot, TRUE );
    302307#  endif /* HAVE_NAMESPACES */
    303                if (h0!=NULL) {
     308               if (h0!=NULL)
     309               {
    304310                 iiInitSingularProcinfo(IDPROC(h0), newlib, proc,
    305311                                yylplineno, current_pos(0),p_static);
    306312#  ifdef HAVE_NAMESPACES
    307                  if (!p_static && h_top != NULL && autoexport) {
     313                 if (!p_static && h_top != NULL && autoexport)
     314                 {
    308315                   if(IDPROC(h_top)!=NULL) piCleanUp((procinfo *)IDPROC(h_top));
    309316                   IDPROC(h_top)=IDPROC(h0);
     
    317324               SET_DEF_END(mode, pi, current_pos(yyleng+1));
    318325#if YYLPDEBUG
    319                if(lpverbose) {
     326               if(lpverbose)
     327               {
    320328                  printf("// PROCEDURE '%s' status: %s, ", proc,
    321329                      p_static ? "local" : "global");
    322                   printf("starting at line %d,%d: definition end: %d (%d).\n", 
     330                  printf("starting at line %d,%d: definition end: %d (%d).\n",
    323331                      yylplineno, current_pos(0), (int)pi->data.s.def_end, brace1);
    324332               }
     
    334342#if YYLPDEBUG
    335343             if(lpverbose)
     344             {
    336345                printf("//     EXAMPLE at line %d,%d (%d)\n", yylplineno,
    337346                    current_pos(0), brace1);
     347             }
    338348#endif
    339349           }
     
    409419
    410420<help>\n { yylplineno++; }
    411 <help>({tos}|{comment}+{fstring}) { 
     421<help>({tos}|{comment}+{fstring}) {
    412422#if YYLPDEBUG
    413423             if(lpverbose>2) printf("--->%s<---\n", yytext);
     
    448458             printf("{=%d, (=%d, [=%d\n", brace1, brace2, brace3);
    449459#endif
    450              if(brace2<=0) {
     460             if(brace2<=0)
     461             {
    451462#if YYLPDEBUG > 1
    452463               printf("BEGIN(phead){=%d, (=%d, [=%d\n", brace1, brace2, brace3);
     
    457468           }
    458469<pdef>"{"  {
    459              if(brace2>0) {
     470             if(brace2>0)
     471             {
    460472#if YYLPDEBUG > 1
    461473               printf("{=%d, (=%d, [=%d\n", brace1, brace2, brace3);
     
    463475               yylp_errno = YYLP_DEF_BR2;
    464476               return(1);
    465              } else {
     477             }
     478             else
     479             {
    466480               brace1++; BEGIN(pbody);
    467481               if(lpverbose)
     
    472486           }
    473487<pdef>\n { yylplineno++;
    474               if(brace2<=0) {
     488              if(brace2<=0)
     489              {
    475490#if YYLPDEBUG > 1
    476491                printf("BEGIN(phead-2){=%d, (=%d, [=%d\n", brace1, brace2, brace3);
     
    482497<pdef>\/\/*      { old_state = YYSTATE; BEGIN(comment); }
    483498<pdef>.    {
    484              if(brace2<=0) {
     499             if(brace2<=0)
     500             {
    485501               BEGIN(phead);
    486502               yyless(0);
     
    492508              if(lpverbose>2)printf("0-Len=%d;\n", yyleng);
    493509#endif
    494               if(check) {
     510              if(check)
     511              {
    495512                printf("Procedure %s (line %d) has OLD-STYLE-HELP!\n",
    496513                       pi->procname, pi->data.s.proc_lineno);
    497514              }
    498515              SET_HELP_START(mode, pi, current_pos(0));
    499               BEGIN(poldhelp); 
     516              BEGIN(poldhelp);
    500517              yyless(0);
    501518           }
     
    508525           }
    509526<phead>{escstrings}+"{" {
    510               if(check && yyleng>2) {
     527              if(check && yyleng>2)
     528              {
    511529                printf("Procedure %s (line %d) has OLD-STYLE-HELP!\n",
    512530                       pi->procname, pi->data.s.proc_lineno);
    513531              }
    514532#if YYLPDEBUG
    515               if(lpverbose>2 && yyleng>2) 
     533              if(lpverbose>2 && yyleng>2)
    516534                 printf("2-Len=%d, %s;\n", yyleng, pi->procname);
    517535#endif
     
    526544                SET_HELP_END(mode, pi, current_pos(0));
    527545                brace1++; BEGIN(pbody);
    528                 if(lpverbose) {
    529                    printf("//     HELP from %d to %d\n",
     546                if(lpverbose)
     547                {
     548                   printf("//     HELP from %d to %d\n",
    530549                       (int)pi->data.s.help_start, (int)pi->data.s.help_end);
    531550                   printf("//     BODY at line %d,%d (%d)\n", yylplineno,
     
    551570<phelp>"{" {
    552571             brace1++; BEGIN(pbody);
    553              if(lpverbose) {
    554                 printf("//     HELP from %d to %d\n",
     572             if(lpverbose)
     573             {
     574                printf("//     HELP from %d to %d\n",
    555575                    (int)pi->data.s.help_start, (int)pi->data.s.help_end);
    556576                printf("//     BODY at line %d,%d (%d)\n", yylplineno,
     
    572592               }
    573593
    574 <pbody>proc+{tos}+{name}+{tnl}+{paramlist}+{tnl}+"{" { 
     594<pbody>proc+{tos}+{name}+{tnl}+{paramlist}+{tnl}+"{" {
    575595             if(check) printf("*** found 2 proc whithin procedure '%s'.\n",
    576596                          pi->procname);
    577597             yyless(yyleng-1);
    578598           }
    579 <pbody>proc+{tos}+{name}+{tnl}+"{" { 
     599<pbody>proc+{tos}+{name}+{tnl}+"{" {
    580600             if(check) printf("*** found 1 proc whithin procedure '%s'.\n",
    581601                          pi->procname);
     
    593613#endif
    594614                           brace1--;
    595                            if(brace2>0) {
     615                           if(brace2>0)
     616                           {
    596617                             yylp_errno = YYLP_BODY_BR2;
    597618                             return(1);
    598619                           }
    599                            if(brace3>0) {
     620                           if(brace3>0)
     621                           {
    600622                             yylp_errno = YYLP_BODY_BR3;
    601623                             return(1);
    602624                           }
    603                            if(brace1<=0) {
     625                           if(brace1<=0)
     626                           {
    604627                             SET_BODY_END(mode, pi, current_pos(yyleng));
    605628                             SET_PROC_END(mode, pi, current_pos(yyleng));
     
    741764
    742765extern "C" {
    743   int yylpwrap() {
     766  int yylpwrap()
     767  {
    744768    //printf("======================= YYWRAP ====================\n");
    745769    if(brace1>0) { yylp_errno=YYLP_MISS_BR1; }
     
    775799  strcat(libnamebuf,date);
    776800  strcat(libnamebuf,")");
    777   if(what && strcmp(libnamebuf, "(?.?,?)")==0) {
     801  if(what && strcmp(libnamebuf, "(?.?,?)")==0)
     802  {
    778803    sscanf(p,"%*[^\"]\"%[^\"]\"",libnamebuf);
    779804  }
     
    799824    text_buffer[len]='\0';
    800825    offset=0;
    801     for(i=0;i<=len; i++) {
     826    for(i=0;i<=len; i++)
     827    {
    802828      if(text_buffer[i]=='\\' &&
    803829         (text_buffer[i+1]=='\"' || text_buffer[i+1]=='{' ||
    804           text_buffer[i+1]=='}' || text_buffer[i+1]=='\\')) {
     830          text_buffer[i+1]=='}' || text_buffer[i+1]=='\\'))
     831      {
    805832        i++;
    806833        offset++;
     
    811838    h0 = enterid( mstrdup("info"), myynest, STRING_CMD,
    812839                        &IDPACKAGE(pl)->idroot, FALSE );
    813     if (h0!=NULL) {
     840    if (h0!=NULL)
     841    {
    814842       IDSTRING(h0) = mstrdup(text_buffer);
    815843    }
     
    829857  //printf("loading %s%s", p, libnamebuf);
    830858#  else
    831   if ( mode == LOAD_LIB ) {
     859  if ( mode == LOAD_LIB )
     860  {
    832861    if (BVERBOSE(V_LOAD_LIB) && p!=NULL ) Print(" %s...", p);
    833862       //Warn( "loading %s%s", p, libnamebuf);
     
    845874    exit(1);
    846875  }
    847  
     876
    848877  if(lpverbose)printf("Verbose level=%d\n", lpverbose);
    849878  if(check)printf("Reporting most possible annomalies.\n");
     
    854883          "line", "example-eoe");
    855884  yylplex(argv[0], argv[0], &lib_style);
    856   if(yylp_errno) {
     885  if(yylp_errno)
     886  {
    857887    printf("ERROR occured: [%d] ", yylp_errno);
    858888    printf(yylp_errlist[yylp_errno], yylplineno);
Note: See TracChangeset for help on using the changeset viewer.