[Z88dk-commits] CVS: z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpe

Bridge to the z88dk-commits mailing list
Post Reply
alvin

[Z88dk-commits] CVS: z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpe

Post by alvin »

Update of /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv5832

Modified Files:
__stdio_scanf_bb.asm __stdio_scanf_bkt.asm __stdio_scanf_d.asm
__stdio_scanf_i.asm __stdio_scanf_lbb.asm __stdio_scanf_ld.asm
__stdio_scanf_li.asm __stdio_scanf_lo.asm __stdio_scanf_lu.asm
__stdio_scanf_lx.asm __stdio_scanf_number_tail_int.asm
__stdio_scanf_number_tail_long.asm __stdio_scanf_o.asm
__stdio_scanf_u.asm __stdio_scanf_x.asm
Log Message:
changed how errors were indicated following the string to number conversion

Index: __stdio_scanf_bb.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_bb.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_bb.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_bb.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 42,52 ****
; WRITE RESULT TO INT *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_int
! jp p, __stdio_scanf_number_tail_int
!
! ; invalid number string
! ; carry set
!
! ret
--- 42,44 ----
; WRITE RESULT TO INT *P

! jp __stdio_scanf_number_tail_int

Index: __stdio_scanf_bkt.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_bkt.asm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** __stdio_scanf_bkt.asm 7 Mar 2014 06:11:06 -0000 1.2
--- __stdio_scanf_bkt.asm 29 Mar 2014 05:05:12 -0000 1.3
***************
*** 39,43 ****
ld a,(de)
and $fe
! ld (de),a ; remove '\0' from the bitset

; CONSUME STREAM CHARS
--- 39,43 ----
ld a,(de)
and $fe
! ld (de),a ; remove \0 from the bitset

; CONSUME STREAM CHARS
***************
*** 218,221 ****
--- 218,222 ----
push bc

+ ld a,c
call l_bitset_locate

***************
*** 262,265 ****
--- 263,272 ----

or a
+ ret nz
+
+ exx
+ dec bc
+ exx
+
ret


Index: __stdio_scanf_d.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_d.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_d.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_d.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 41,51 ****
; WRITE RESULT TO INT *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_int
! jp p, __stdio_scanf_number_tail_int
!
! ; invalid number string
! ; carry set
!
! ret
--- 41,43 ----
; WRITE RESULT TO INT *P

! jp __stdio_scanf_number_tail_int

Index: __stdio_scanf_i.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_i.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_i.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_i.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 41,51 ****
; WRITE RESULT TO INT *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_int
! jp p, __stdio_scanf_number_tail_int
!
! ; invalid number string
! ; carry set
!
! ret
--- 41,43 ----
; WRITE RESULT TO INT *P

! jp __stdio_scanf_number_tail_int

Index: __stdio_scanf_lbb.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_lbb.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_lbb.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_lbb.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 44,54 ****
; WRITE RESULT TO UNSIGNED LONG *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_long
! jp p, __stdio_scanf_number_tail_long
!
! ; invalid number string
! ; carry set
!
! ret
--- 44,46 ----
; WRITE RESULT TO UNSIGNED LONG *P

! jp __stdio_scanf_number_tail_long

Index: __stdio_scanf_ld.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_ld.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_ld.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_ld.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 43,53 ****
; WRITE RESULT TO LONG *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_long
! jp p, __stdio_scanf_number_tail_long
!
! ; invalid number string
! ; carry set
!
! ret
--- 43,45 ----
; WRITE RESULT TO LONG *P

! jp __stdio_scanf_number_tail_long

Index: __stdio_scanf_li.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_li.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_li.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_li.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 43,53 ****
; WRITE RESULT TO LONG *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_long
! jp p, __stdio_scanf_number_tail_long
!
! ; invalid number string
! ; carry set
!
! ret
--- 43,45 ----
; WRITE RESULT TO LONG *P

! jp __stdio_scanf_number_tail_long

Index: __stdio_scanf_lo.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_lo.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_lo.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_lo.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 43,53 ****
; WRITE RESULT TO UNSIGNED LONG *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_long
! jp p, __stdio_scanf_number_tail_long
!
! ; invalid number string
! ; carry set
!
! ret
--- 43,45 ----
; WRITE RESULT TO UNSIGNED LONG *P

! jp __stdio_scanf_number_tail_long

Index: __stdio_scanf_lu.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_lu.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_lu.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_lu.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 43,53 ****
; WRITE RESULT TO UNSIGNED LONG *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_long
! jp p, __stdio_scanf_number_tail_long
!
! ; invalid number string
! ; carry set
!
! ret
--- 43,45 ----
; WRITE RESULT TO UNSIGNED LONG *P

! jp __stdio_scanf_number_tail_long

Index: __stdio_scanf_lx.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_lx.asm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** __stdio_scanf_lx.asm 22 Mar 2014 07:43:06 -0000 1.2
--- __stdio_scanf_lx.asm 29 Mar 2014 05:05:12 -0000 1.3
***************
*** 43,53 ****
; WRITE RESULT TO UNSIGNED LONG *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_long
! jp p, __stdio_scanf_number_tail_long
!
! ; invalid number string
! ; carry set
!
! ret
--- 43,45 ----
; WRITE RESULT TO UNSIGNED LONG *P

! jp __stdio_scanf_number_tail_long

Index: __stdio_scanf_number_tail_int.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_number_tail_int.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_number_tail_int.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_number_tail_int.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 6,9 ****
--- 6,27 ----
; enter : de = int *p
; hl = integer
+ ;
+ ; carry flag state set by strtoi / strtou
+ ;
+ ; carry reset, number is valid
+ ;
+ ; carry set, number valid only if hl != 0
+
+ jr nc, number_valid
+
+ ld a,h
+ or l
+
+ jr z, number_invalid
+
+ number_valid:
+
+ ; enter : de = int *p
+ ; hl = integer

; WRITE INTEGER TO INT *P
***************
*** 22,26 ****
inc hl
ld (hl),d ; *p = integer
!
! or a
ret
--- 40,48 ----
inc hl
ld (hl),d ; *p = integer
!
! ret
!
! number_invalid:
!
! scf
ret

Index: __stdio_scanf_number_tail_long.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_number_tail_long.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_number_tail_long.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_number_tail_long.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 6,9 ****
--- 6,29 ----
; enter : bc = long *p
; dehl = long
+ ;
+ ; carry flag state set by strtol / strtoul
+ ;
+ ; carry reset, number is valid
+ ;
+ ; carry set, number valid only if dehl != 0
+
+ jr nc, number_valid
+
+ ld a,d
+ or e
+ or h
+ or l
+
+ jr z, number_invalid
+
+ number_valid:
+
+ ; enter : bc = long *p
+ ; dehl = long

; WRITE LONG TO LONG *P
***************
*** 34,35 ****
--- 54,60 ----

ret
+
+ number_invalid:
+
+ scf
+ ret

Index: __stdio_scanf_o.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_o.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_o.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_o.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 39,49 ****
; WRITE RESULT TO INT *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_int
! jp p, __stdio_scanf_number_tail_int
!
! ; invalid number string
! ; carry set
!
! ret
--- 39,41 ----
; WRITE RESULT TO INT *P

! jp __stdio_scanf_number_tail_int

Index: __stdio_scanf_u.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_u.asm,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** __stdio_scanf_u.asm 23 Feb 2014 04:38:55 -0000 1.1
--- __stdio_scanf_u.asm 29 Mar 2014 05:05:12 -0000 1.2
***************
*** 41,51 ****
; WRITE RESULT TO INT *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_int
! jp p, __stdio_scanf_number_tail_int
!
! ; invalid number string
! ; carry set
!
! ret
--- 41,43 ----
; WRITE RESULT TO INT *P

! jp __stdio_scanf_number_tail_int

Index: __stdio_scanf_x.asm
===================================================================
RCS file: /cvsroot/z88dk/z88dk/libsrc/_DEVELOPMENT/stdio/z80/input_helpers/__stdio_scanf_x.asm,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** __stdio_scanf_x.asm 22 Mar 2014 07:43:06 -0000 1.2
--- __stdio_scanf_x.asm 29 Mar 2014 05:05:12 -0000 1.3
***************
*** 41,51 ****
; WRITE RESULT TO INT *P

! ; check for conversion errors
!
! jp nc, __stdio_scanf_number_tail_int
! jp p, __stdio_scanf_number_tail_int
!
! ; invalid number string
! ; carry set
!
! ret
--- 41,43 ----
; WRITE RESULT TO INT *P

! jp __stdio_scanf_number_tail_int


------------------------------------------------------------------------------
Post Reply