[Python-checkins] CVS: python/dist/src/Objects longobject.c,1.85,1.86

Tim Peters tim_one@users.sourceforge.net
Sat, 14 Jul 2001 04:01:30 -0700


Update of /cvsroot/python/python/dist/src/Objects
In directory usw-pr-cvs1:/tmp/cvs-serv22122/python/dist/src/Objects

Modified Files:
	longobject.c 
Log Message:
long_format():  Simplify new code a bit.


Index: longobject.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Objects/longobject.c,v
retrieving revision 1.85
retrieving revision 1.86
diff -C2 -r1.85 -r1.86
*** longobject.c	2001/07/13 02:59:26	1.85
--- longobject.c	2001/07/14 11:01:28	1.86
***************
*** 841,845 ****
  				return NULL;
  			})
! 			while (--ntostore >= 0) {
  				digit nextrem = (digit)(rem / base);
  				char c = (char)(rem - nextrem * base);
--- 841,846 ----
  				return NULL;
  			})
! 			assert(ntostore > 0);
! 			do {
  				digit nextrem = (digit)(rem / base);
  				char c = (char)(rem - nextrem * base);
***************
*** 848,855 ****
  				*--p = c;
  				rem = nextrem;
! 				if (a->ob_size == 0 && rem == 0)
! 					break;  /* skip leading zeroes */
! 			}
! 		} while (ABS(a->ob_size) != 0);
  		Py_DECREF(a);
  	}
--- 849,858 ----
  				*--p = c;
  				rem = nextrem;
! 				--ntostore;
! 				/* Termination is a bit delicate:  must not
! 				   store leading zeroes, so must get out if
! 				   a and rem are both 0 now. */
! 			} while (ntostore && (a->ob_size || rem));
! 		} while (a->ob_size != 0);
  		Py_DECREF(a);
  	}