We still maintain some AR code written in 1979 which I will put up
against anything as one of the best examples of a poorly written
maintenance minefield.  Here's a snippet:

0150: 100:  Z=1
0151:       CALL INPUT.VERIFY(Q,PCD(1))
0152: 110:  IF Q='' THEN
0153:          IF CUST='END' THEN RETURN
0154:          Q=CUST
0155:       END
0156:       IF Q='END' THEN RETURN
0157:       IF LEN(Q) = '11' THEN
0158:          READV Q FROM FILE.SI,Q,1 ELSE NULL
0159:       END
0160: *****
0161: ***** 
0162: ***** Added locked clause for CR read
0163: *****
0164: *     READU CR.ITEM FROM FILE.CR, Q ELSE
0165: 115: *
0166:       READU CR.ITEM FROM FILE.CR, Q LOCKED
0167:          CALL PGMDP0940('AR1245','CR',Q,FILE.CR) ; GO 115
0168:       END ELSE
0169:          RELEASE FILE.CR, Q
0170:          LOCATE(Q,EXCEPTIONS;POSN) ELSE
0171:             IF NUM(Q) THEN INPUTCLEAR ; PRINTERR CHAR(7):Q:ERR(13)
; GO 100
0172:             LENGTH=3
0173:             AMC=CR$S.NM
0174:             K=CR$ADDR1
0175:             CALL PGMAR3245(K,X)
0176:             CUST='' ; SAVE.NAME='' ; CR.ITEM=''
0177:             GOSUB 90000
0178:             IF Q='END' OR Q='' THEN GO 100
0179:             GO 110
0180:          END
0181:          GOSUB 99900
0182:          GO 100
0183:       END
0184:       RELEASE FILE.CR, Q

Need to figure out where Q, Z, X, or K get assigned or what they're for?
No need to bother.  They get used over and over again throughout 5
different subroutines and never for the same thing twice.  The original
author dared to sign his name at the top of the code, but I'm too nice a
guy to post it.  Hopefully he got out of the business long ago.
Fortunately these 5 were the only programs on our system he wrote.

-John

-----Original Message-----
From: u2-users-boun...@listserver.u2ug.org
[mailto:u2-users-boun...@listserver.u2ug.org] On Behalf Of Doug Averch
Sent: Thursday, January 26, 2012 2:12 PM
To: U2 Users List
Subject: Re: [U2] Passing by Value

I posted a partial copy of a program written many 25 years ago that we
still maintain with a wonderful variables named like BIT.  Not sure what
it does except you set it zero or one and it referenced all over the
place.
 This program has other gems like ATT which are screen positions and
plethora of GOTO's and their labels:  Enjoy:
http://www.u2logic.com/images1/XLr8EditorOutline.jpg

Regards,
Doug
www.u2logic.com

On Thu, Jan 26, 2012 at 2:56 PM, Mecki Foerthmann <mec...@gmx.net>
wrote:

> Not to mention L ;A= and L ;A =
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users
_______________________________________________
U2-Users mailing list
U2-Users@listserver.u2ug.org
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to