[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)