[Python-checkins] python/nondist/sandbox/itertools itertools.c,1.16,1.17 todo.txt,1.14,1.15

rhettinger@users.sourceforge.net rhettinger@users.sourceforge.net
2003年1月30日 23:20:52 -0800


Update of /cvsroot/python/python/nondist/sandbox/itertools
In directory sc8-pr-cvs1:/tmp/cvs-serv25720
Modified Files:
	itertools.c todo.txt 
Log Message:
Make tp_traverse complete
Index: itertools.c
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/itertools/itertools.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** itertools.c	31 Jan 2003 07:09:23 -0000	1.16
--- itertools.c	31 Jan 2003 07:20:49 -0000	1.17
***************
*** 54,59 ****
 dropwhile_traverse(dropwhileobject *lz, visitproc visit, void *arg)
 {
! 	if (lz->it)
! 		return visit(lz->it, arg);
 	return 0;
 }
--- 54,69 ----
 dropwhile_traverse(dropwhileobject *lz, visitproc visit, void *arg)
 {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
 	return 0;
 }
***************
*** 198,203 ****
 takewhile_traverse(takewhileobject *lz, visitproc visit, void *arg)
 {
! 	if (lz->it)
! 		return visit(lz->it, arg);
 	return 0;
 }
--- 208,223 ----
 takewhile_traverse(takewhileobject *lz, visitproc visit, void *arg)
 {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
 	return 0;
 }
***************
*** 509,514 ****
 starmap_traverse(starmapobject *lz, visitproc visit, void *arg)
 {
! 	if (lz->it)
! 		return visit(lz->it, arg);
 	return 0;
 }
--- 529,544 ----
 starmap_traverse(starmapobject *lz, visitproc visit, void *arg)
 {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
 	return 0;
 }
***************
*** 662,667 ****
 imap_traverse(imapobject *lz, visitproc visit, void *arg)
 {
! 	if (lz->argtuple)
! 		return visit(lz->argtuple, arg);
 	return 0;
 }
--- 692,712 ----
 imap_traverse(imapobject *lz, visitproc visit, void *arg)
 {
! 	int err;
! 
! 	if (lz->iters) {
! 		err = visit(lz->iters, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->argtuple) {
! 		err = visit(lz->argtuple, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
 	return 0;
 }
***************
*** 911,916 ****
 ifilter_traverse(ifilterobject *lz, visitproc visit, void *arg)
 {
! 	if (lz->it)
! 		return visit(lz->it, arg);
 	return 0;
 }
--- 956,971 ----
 ifilter_traverse(ifilterobject *lz, visitproc visit, void *arg)
 {
! 	int err;
! 
! 	if (lz->it) {
! 		err = visit(lz->it, arg);
! 		if (err)
! 			return err;
! 	}
! 	if (lz->func) {
! 		err = visit(lz->func, arg);
! 		if (err)
! 			return err;
! 	}
 	return 0;
 }
Index: todo.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/itertools/todo.txt,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** todo.txt	31 Jan 2003 07:09:24 -0000	1.14
--- todo.txt	31 Jan 2003 07:20:49 -0000	1.15
***************
*** 10,17 ****
 subclassability
 
- Fixup:
- tp_traverse looks incomplete
- 
- 
 ? Should times() and count() be subclassable
 With no accessible methods or members, I would think not.
--- 10,13 ----

AltStyle によって変換されたページ (->オリジナル) /