The relevant code (& I am VERY sure source matches object):

  072: BEGIN CASE
  073:   CASE ANS MATCHES '0N' & ANS>0
  074:     IF MITM<5,ANS>#"" THEN
  075:      IF MITM<7,ANS>#"" THEN GOSUB 200 ; IF ERR THEN GOTO 15

  287: 200:*Subroutine For Password Check.
  291: IF MITM<7,ANS>[1,1] = "#" THEN
  310: IF X#MITM<7,ANS> THEN

4 times in recent months line these have generated the  a set of 4
runtime errors
   "Nonnumeric data when numeric required.  Zero used."  
as recorded in uv/errlog:
   Mon Mar  7 14:04:03  78 wrc63580 Program "MENU.DRIVER": Line 74,
Message[040025]
   Mon Mar  7 14:04:03  78 wrc63580 Program "MENU.DRIVER": Line 75,
Message[040025]
   Mon Mar  7 14:04:03  78 wrc63580 Program "MENU.DRIVER": Line 291,
Message[040025]
   Mon Mar  7 14:04:06  78 wrc63580 Program "MENU.DRIVER": Line 310,
Message[040025]

(See SYS.MESSAGES 040025)

The only operation on all four lines that requires a numeric is using
ANS as the value number in the EXTRACT().

ANS is non-numeric ???
- But how can a non-numeric string get past the test on
  line 73, (ANS MATCHES '0N' & ANS>0) ?
- Can a non-numeric both match "0N" and also be greater than zero?
  Something involving <space>s or ^128, maybe?

That's the most likely line of enquiry, as I see it.

This is in our top level menu driver that every interactive user runs.
These lines get executed countless times each day, but with only four
such errors incidents since last September.


Am I missing something glaringly obvious?
Any answers?

cds
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to