[Python-checkins] python/nondist/sandbox/ast asdl.c,1.1,1.2 asdl.h,1.2,1.3

jhylton@sourceforge.net jhylton@sourceforge.net
Mon, 15 Apr 2002 20:21:55 -0700


Update of /cvsroot/python/python/nondist/sandbox/ast
In directory usw-pr-cvs1:/tmp/cvs-serv17506

Modified Files:
	asdl.c asdl.h 
Log Message:
Prefix all names with asdl_seq (yuck).
Fix asdl_seq_append() so that it's ++-ing the right member.
Add asdl_seq_free().


Index: asdl.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/ast/asdl.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** asdl.c	12 Apr 2002 15:56:43 -0000	1.1
--- asdl.c	16 Apr 2002 03:21:52 -0000	1.2
***************
*** 2,7 ****
  #include "asdl.h"
  
! static asdl_seq *
! asdl_list_new(int size)
  {
      asdl_seq *seq = (asdl_seq *)malloc(sizeof(asdl_seq));
--- 2,7 ----
  #include "asdl.h"
  
! asdl_seq *
! asdl_seq_new(int size)
  {
      asdl_seq *seq = (asdl_seq *)malloc(sizeof(asdl_seq));
***************
*** 18,23 ****
  }
  
! static void *
! asdl_get(asdl_seq *seq, int offset)
  {
      if (offset > seq->used)
--- 18,23 ----
  }
  
! void *
! asdl_seq_get(asdl_seq *seq, int offset)
  {
      if (offset > seq->used)
***************
*** 26,31 ****
  }
  
! static int
! append(asdl_seq *seq, void *elt)
  {
      if (seq->size == seq->used) {
--- 26,31 ----
  }
  
! int
! asdl_seq_append(asdl_seq *seq, void *elt)
  {
      if (seq->size == seq->used) {
***************
*** 37,41 ****
  	seq->elements = newptr;
      }
!     seq->elements[seq->size++] = elt;
      return 1;
  }
--- 37,49 ----
  	seq->elements = newptr;
      }
!     seq->elements[seq->used++] = elt;
      return 1;
+ }
+ 
+ void
+ asdl_seq_free(asdl_seq *seq)
+ {
+     if (seq->elements)
+ 	free(seq->elements);
+     free(seq);
  }

Index: asdl.h
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/ast/asdl.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** asdl.h	12 Apr 2002 15:56:43 -0000	1.2
--- asdl.h	16 Apr 2002 03:21:52 -0000	1.3
***************
*** 1,5 ****
  #define identifier PyObject *
  #define bool int
! #define string const char *
  
  /* It would be nice if the code generated by asdl_c.py was completely
--- 1,5 ----
  #define identifier PyObject *
  #define bool int
! #define string PyObject *
  
  /* It would be nice if the code generated by asdl_c.py was completely
***************
*** 15,20 ****
  } asdl_seq;
  
! asdl_seq *asdl_list_new(int size);
! void *asdl_get(asdl_seq *seq, int offset);
! int append(asdl_seq *seq, void *elt);
  
--- 15,22 ----
  } asdl_seq;
  
! asdl_seq *asdl_seq_new(int size);
! void *asdl_seq_get(asdl_seq *seq, int offset);
! int asdl_seq_append(asdl_seq *seq, void *elt);
! void asdl_seq_free(asdl_seq *);
  
+ #define asdl_seq_LEN(S) ((S)->used)