cdc:nos2.source:opl.opl871:deck:fseex
Deck FSEEX
2 Modifications
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.fseex +++|PRGM FSEEX; 00002 M01S00002.fseex +++| BEGIN 00003 M01S00003.fseex +++|# 00004 M01S00004.fseex +++|*** FSEEX - NOS FULL SCREEN EDITOR. 00005 M01S00005.fseex +++|*
Line S00006 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00006 M02S00006.281l803 ---|* COPYRIGHT CONTROL DATA CORPORATION, 1983. 00007 M01S00001.281l803 +++|* COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00008 M01S00007.fseex +++|# 00009 M01S00008.fseex +++| 00010 M01S00009.fseex +++| 00011 M01S00010.fseex +++| XDEF LABEL FSE; 00012 M01S00011.fseex +++| 00013 M01S00012.fseex +++| XREF PROC BLDINIT; 00014 M01S00013.fseex +++| XREF PROC BLDTERM; 00015 M01S00001.ns2206 +++| XREF PROC DISSJ; # DISABLE/ENABLE SSJ= # 00016 M01S00014.fseex +++| XREF PROC EDTINIT; 00017 M01S00015.fseex +++| XREF PROC EDTTERM; 00018 M01S00016.fseex +++| XREF PROC PROCESS; 00019 M01S00017.fseex +++| XREF PROC ENDRUN; 00020 M01S00018.fseex +++| 00021 M01S00019.fseex +++|FSE: 00022 M01S00002.ns2206 +++| DISSJ(2); # DISABLE SSJ= # 00023 M01S00020.fseex +++| BLDINIT; 00024 M01S00021.fseex +++| EDTINIT; 00025 M01S00022.fseex +++| PROCESS; 00026 M01S00023.fseex +++| EDTTERM; 00027 M01S00024.fseex +++| BLDTERM; 00028 M01S00025.fseex +++| ENDRUN; 00029 M01S00026.fseex +++| 00030 M01S00027.fseex +++| 00031 M01S00028.fseex +++| END TERM 00032 M01S00014.fseex +++|FSEFILE 00033 M01S00000.fseex +++| 00034 M01S00004.fseex +++| 00035 M01S00005.fseex +++|# 00036 M01S00006.fseex +++|*** FSEFILE -- SUBROUTINES FOR FILE ACCESS. 00037 M01S00007.fseex +++|*
Line S00008 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000009 |
Seq # *Modification Id* Act ----------------------------+ 00038 M02S00008.@000009 ---|* COPYRIGHT CONTROL DATA CORPORATION, 1983. 00039 M01S00001.@000009 +++|* COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00040 M01S00009.fseex +++|* 00041 M01S00010.fseex +++|* FSEFILE HAS THE ROUTINES TO TEST THE ATTRIBUTES OF 00042 M01S00011.fseex +++|* VARIOUS LOCAL FILES. THIS IS THEREFORE USED ONLY FOR 00043 M01S00012.fseex +++|* THE SINGLE-USER VERSION OF FSE AND IS NOT PROGRAMMED 00044 M01S00013.fseex +++|* REENTRANTLY. THIS MODULE IS A CANDIDATE FOR FUTURE 00045 M01S00014.fseex +++|* OVERLAY STRUCTURING. IT MAY BE USED BY THE FSEMAIN MODULE 00046 M01S00015.fseex +++|* AND THE FILCMD MODULE ONLY. 00047 M01S00016.fseex +++|# 00048 M01S00017.fseex +++| 00049 M01S00018.fseex +++| DEF LISTCON #0#; 00050 M01S00019.fseex +++| 00051 M01S00020.fseex +++|CONTROL EJECT; # UNIVERSAL DECLARES # 00052 M01S00021.fseex +++| 00053 M01S00022.fseex +++|*IFCALL SINGLE,COMFSGL 00054 M01S00023.fseex +++|*IFCALL ONLY,COMFONL 00055 M01S00024.fseex +++|*IFCALL MULTI,COMFMLT 00056 M01S00025.fseex +++|*CALL COMFFSE 00057 M01S00026.fseex +++| 00058 M01S00027.fseex +++| # EXTERNALS # 00059 M01S00028.fseex +++| 00060 M01S00029.fseex +++| 00061 M01S00030.fseex +++|XDEF 00062 M01S00031.fseex +++| BEGIN 00063 M01S00032.fseex +++|*CALL COMFXFL 00064 M01S00033.fseex +++| END 00065 M01S00034.fseex +++| 00066 M01S00035.fseex +++|XREF ARRAY MAXADDR;; # KEY ADDRESSES IN BUFFER SEGMENT # 00067 M01S00036.fseex +++|XREF ARRAY WORKBUF;; 00068 M01S00037.fseex +++| 00069 M01S00038.fseex +++|XREF PROC FASTRLC; 00070 M01S00039.fseex +++| 00071 M01S00040.fseex +++|XREF 00072 M01S00041.fseex +++| BEGIN 00073 M01S00042.fseex +++| PROC PF; 00074 M01S00043.fseex +++| PROC FILINFO; 00075 M01S00044.fseex +++| PROC READ; 00076 M01S00045.fseex +++| PROC READC; 00077 M01S00046.fseex +++| PROC REWIND; 00078 M01S00047.fseex +++| PROC FLDLEN; 00079 M01S00001.@000005 +++| PROC RTIME; 00080 M01S00002.@000005 +++| PROC TTLIN; 00081 M01S00003.@000005 +++| PROC TTSTR; 00082 M01S00004.@000005 +++| PROC VDTCLO; 00083 M01S00005.@000005 +++| PROC VDTOPN; 00084 M01S00001.@000003 +++| PROC VDTPRT$; # PROMPT ON/OFF # 00085 M01S00048.fseex +++| END 00086 M01S00049.fseex +++| 00087 M01S00050.fseex +++|XREF 00088 M01S00051.fseex +++| BEGIN 00089 M01S00052.fseex +++|*CALL COMFXSB 00090 M01S00053.fseex +++|*CALL COMFXSC 00091 M01S00054.fseex +++|*CALL COMFXED 00092 M01S00055.fseex +++|*CALL COMFXWK 00093 M01S00056.fseex +++| END 00094 M01S00057.fseex +++| 00095 M01S00058.fseex +++| # COMMON DATA # 00096 M01S00059.fseex +++| 00097 M01S00060.fseex +++|*CALL COMFDS1 00098 M01S00061.fseex +++|*CALL COMFVD2 00099 M01S00062.fseex +++|*CALL COMFDS2 00100 M01S00001.@000006 +++|*CALL COMSPFM 00101 M01S00063.fseex +++|PAGE # HERE WE GO # 00102 M01S00064.fseex +++| 00103 M01S00065.fseex +++| 00104 M01S00066.fseex +++|FUNC MSEQUIP(NAME) B; 00105 M01S00067.fseex +++| BEGIN 00106 M01S00068.fseex +++|# 00107 M01S00069.fseex +++|** MSEQUIP - TEST FILE ATTRIBUTES FOR MASS STORAGE. 00108 M01S00070.fseex +++|* 00109 M01S00071.fseex +++|* ENTRY NAME - NAME OF FILE TO INSPECT. 00110 M01S00072.fseex +++|* 00111 M01S00073.fseex +++|* EXIT MSEQUIP - TRUE IF ALREADY ON MASS STORAGE OR IF 00112 M01S00074.fseex +++|* ANTICIPATED TO BE ON MASS STORAGE BY DEFAULT. 00113 M01S00075.fseex +++|* OTHERWISE FALSE. 00114 M01S00076.fseex +++|* 00115 M01S00077.fseex +++|* CALLS GETINFO, TRIMNAME. 00116 M01S00078.fseex +++|* 00117 M01S00079.fseex +++|* NOTE ASSUMES CORRECT DEFINITION OF DEFAULT NAMES 00118 M01S00080.fseex +++|* FOR INPUT AND OUTPUT FILES. 00119 M01S00081.fseex +++|# 00120 M01S00082.fseex +++| ITEM NAME C(7); 00121 M01S00001.@000008 +++| 00122 M01S00002.@000008 +++| FILINFSTAT = 0; 00123 M01S00083.fseex +++| IF B<0,42>NAME EQ 0 THEN 00124 M01S00084.fseex +++| BEGIN 00125 M01S00085.fseex +++| MSEQUIP=FALSE; 00126 M01S00086.fseex +++| RETURN; 00127 M01S00087.fseex +++| END 00128 M01S00088.fseex +++| MSEQUIP=TRUE; 00129 M01S00089.fseex +++| GETINFO(NAME); 00130 M01S00090.fseex +++| IF FILINFSTAT EQ 0 THEN 00131 M01S00091.fseex +++| BEGIN 00132 M01S00092.fseex +++| IF TRIMNAME(NAME) EQ DEFINPNAM THEN MSEQUIP=FALSE; 00133 M01S00093.fseex +++| IF TRIMNAME(NAME) EQ DEFOUTNAM THEN MSEQUIP=FALSE; 00134 M01S00094.fseex +++| END 00135 M01S00095.fseex +++| ELSE 00136 M01S00096.fseex +++| BEGIN 00137 M01S00097.fseex +++| IF NOT (FILINFRMS AND FILINFREAD) THEN MSEQUIP=FALSE; 00138 M01S00098.fseex +++| END 00139 M01S00099.fseex +++| END # OF MSEQUIP # 00140 M01S00100.fseex +++| 00141 M01S00101.fseex +++|FUNC TTEQUIP(NAME) B; 00142 M01S00102.fseex +++| BEGIN 00143 M01S00103.fseex +++|# 00144 M01S00104.fseex +++|** TTEQUIP - TEST FILE ATTRIBUTES FOR TERMINAL. 00145 M01S00105.fseex +++|* 00146 M01S00106.fseex +++|* ENTRY NAME - FILE TO TEST. 00147 M01S00107.fseex +++|* 00148 M01S00108.fseex +++|* EXIT TTEQUIP - TRUE IF FILE ALREADY ASSIGNED TO TERMINAL 00149 M01S00109.fseex +++|* EQUIPMENT, OR IF ANTICIPATED TO BE SO ASSIGNED 00150 M01S00110.fseex +++|* BY DEFAULT. OTHERWISE FALSE. 00151 M01S00111.fseex +++|* 00152 M01S00112.fseex +++|* CALLS GETINFO, TRIMNAME. 00153 M01S00113.fseex +++|* 00154 M01S00114.fseex +++|* NOTE ASSUMES CORRECT DEFINITION OF DEFAULT NAMES FOR 00155 M01S00115.fseex +++|* INPUT AND OUTPUT FILES. 00156 M01S00116.fseex +++|# 00157 M01S00117.fseex +++| ITEM NAME C(7); 00158 M01S00118.fseex +++| TTEQUIP=FALSE; 00159 M01S00119.fseex +++| IF B<0,42>NAME EQ 0 THEN RETURN; 00160 M01S00120.fseex +++| GETINFO(NAME); 00161 M01S00121.fseex +++| IF FILINFSTAT EQ 0 THEN # NOT EXIST # 00162 M01S00122.fseex +++| BEGIN 00163 M01S00123.fseex +++| IF TRIMNAME(NAME) EQ DEFINPNAM THEN TTEQUIP=TRUE; 00164 M01S00124.fseex +++| IF TRIMNAME(NAME) EQ DEFOUTNAM THEN TTEQUIP=TRUE; 00165 M01S00125.fseex +++| END 00166 M01S00126.fseex +++| ELSE # FILE ALREADY EXIST # 00167 M01S00127.fseex +++| BEGIN 00168 M01S00128.fseex +++| IF FILINFTTY THEN TTEQUIP=TRUE; 00169 M01S00129.fseex +++| END 00170 M01S00130.fseex +++| END # OF TTEQUIP # 00171 M01S00131.fseex +++| 00172 M01S00132.fseex +++| 00173 M01S00133.fseex +++|FUNC WRITEABLE(NAME) B; 00174 M01S00134.fseex +++| BEGIN 00175 M01S00135.fseex +++|# 00176 M01S00136.fseex +++|** WRITEABLE - TEST FILE FOR NON-READ-ONLY DISK. 00177 M01S00137.fseex +++|* 00178 M01S00138.fseex +++|* ENTRY NAME - FILE TO INSPECT. 00179 M01S00139.fseex +++|* 00180 M01S00140.fseex +++|* EXIT - WRITEABLE - TRUE IF AND ONLY IF FILE IS ON 00181 M01S00141.fseex +++|* MASS STORAGE AND HAS NO ACCESS RESTRICTIONS. 00182 M01S00142.fseex +++|* 00183 M01S00143.fseex +++|* CALLS MSEQUIP. 00184 M01S00144.fseex +++|* 00185 M01S00145.fseex +++|* NOTE CODING ASSUMES GETINFO WILL BE CALLED FOR THIS 00186 M01S00146.fseex +++|* FILE NO LATER THAN COMPLETION OF MSEQUIP. 00187 M01S00147.fseex +++|# 00188 M01S00148.fseex +++| ITEM NAME C(7); 00189 M01S00149.fseex +++| WRITEABLE=FALSE; 00190 M01S00150.fseex +++| IF MSEQUIP(NAME) THEN 00191 M01S00151.fseex +++| BEGIN 00192 M01S00152.fseex +++| WRITEABLE=FILINFWRIT; 00193 M01S00153.fseex +++| IF FILINFSTAT EQ 0 THEN WRITEABLE=TRUE; 00194 M01S00154.fseex +++| END 00195 M01S00155.fseex +++| END # OF WRITEABLE # 00196 M01S00156.fseex +++| 00197 M01S00157.fseex +++| 00198 M01S00158.fseex +++|FUNC LOCALFILE(NAME) B; 00199 M01S00159.fseex +++| BEGIN 00200 M01S00160.fseex +++|# 00201 M01S00161.fseex +++|** LOCALFILE - TEST FILE ATTRIBUTES FOR LOFT. 00202 M01S00162.fseex +++|* 00203 M01S00163.fseex +++|* ENTRY NAME - FILE TO INSPECT. 00204 M01S00164.fseex +++|* 00205 M01S00165.fseex +++|* EXIT LOCALFILE - TRUE IF AND ONLY IF FILE IS ON 00206 M01S00166.fseex +++|* MASS STORAGE, HAS WRITE PERMISSION, AND IS OF 00207 M01S00167.fseex +++|* LOCAL FILE TYPE. 00208 M01S00168.fseex +++|* 00209 M01S00169.fseex +++|* CALLS WRITEABLE. 00210 M01S00170.fseex +++|* 00211 M01S00171.fseex +++|* NOTE ASSUMES GETINFO IS CALLED BY WRITEABLE. 00212 M01S00172.fseex +++|# 00213 M01S00173.fseex +++| ITEM NAME C(7); 00214 M01S00174.fseex +++| LOCALFILE=FALSE; 00215 M01S00175.fseex +++| IF WRITEABLE(NAME) THEN 00216 M01S00176.fseex +++| BEGIN 00217 M01S00177.fseex +++| IF FILINFFT EQ 0 00218 M01S00178.fseex +++| OR FILINFFT EQ 6 THEN LOCALFILE=TRUE; 00219 M01S00179.fseex +++| END 00220 M01S00180.fseex +++| END # OF LOCALFILE # 00221 M01S00181.fseex +++| 00222 M01S00182.fseex +++| 00223 M01S00183.fseex +++|PROC GETINFO(NAME); 00224 M01S00184.fseex +++| BEGIN 00225 M01S00185.fseex +++|# 00226 M01S00186.fseex +++|** GETINFO - INTERFACE TO FILINFO MACRO. 00227 M01S00187.fseex +++|* 00228 M01S00188.fseex +++|* ENTRY NAME - FILE TO PROCESS. 00229 M01S00189.fseex +++|* 00230 M01S00190.fseex +++|* EXIT FILINFPARMS ARRAY IS FILLED IN. 00231 M01S00191.fseex +++|* 00232 M01S00192.fseex +++|* CALLS TRIMNAME, FILINFO. 00233 M01S00193.fseex +++|# 00234 M01S00194.fseex +++| ITEM NAME C(7), NEWNAME C(7); 00235 M01S00195.fseex +++| NEWNAME=TRIMNAME(NAME); 00236 M01S00196.fseex +++| FILINFNAME=NEWNAME; 00237 M01S00197.fseex +++| FILINFO(FILINFPARMS); 00238 M01S00198.fseex +++| END # OF GETINFO # 00239 M01S00199.fseex +++| 00240 M01S00200.fseex +++| 00241 M01S00201.fseex +++|FUNC ASSGNFILE(NAME) B; 00242 M01S00202.fseex +++| BEGIN 00243 M01S00203.fseex +++|# 00244 M01S00204.fseex +++|** ASSGNFILE - TEST FILE FOR FNT ASSIGNMENT. 00245 M01S00205.fseex +++|* 00246 M01S00206.fseex +++|* ENTRY NAME - FILE TO INSPECT. 00247 M01S00207.fseex +++|* 00248 M01S00208.fseex +++|* EXIT ASSGNFILE - TRUE IF AND ONLY IF THIS JOB HAS 00249 M01S00209.fseex +++|* AN FNT FOR THE FILE. 00250 M01S00210.fseex +++|* 00251 M01S00211.fseex +++|* CALLS GETINFO. 00252 M01S00212.fseex +++|# 00253 M01S00213.fseex +++| ITEM NAME C(7); 00254 M01S00214.fseex +++| ASSGNFILE=FALSE; 00255 M01S00215.fseex +++| IF B<0,42>NAME EQ 0 THEN RETURN; 00256 M01S00216.fseex +++| GETINFO(NAME); 00257 M01S00217.fseex +++| IF FILINFSTAT NQ 0 THEN ASSGNFILE=TRUE; 00258 M01S00218.fseex +++| END # OF ASSGNFILE # 00259 M01S00219.fseex +++| 00260 M01S00220.fseex +++| 00261 M01S00221.fseex +++|PROC VFYFILE(NAME,MODE); 00262 M01S00222.fseex +++| BEGIN 00263 M01S00223.fseex +++|# 00264 M01S00224.fseex +++|** VFYFILE - VERIFY FILE AS LEGAL TO BE EDITED. 00265 M01S00225.fseex +++|* 00266 M01S00226.fseex +++|* ENTRY NAME - FILE TO INSPECT. 00267 M01S00227.fseex +++|* MODE - POSITIVE IMPLIES USE ERRJUMP FOR FAILURES, 00268 M01S00228.fseex +++|* NEGATIVE IMPLIES ABORT THE JOB STEP VIA MORTAL. 00269 M01S00229.fseex +++|* 00270 M01S00230.fseex +++|* EXIT TO CALLER IF FILE IS LEGAL, OTHERWISE TO 00271 M01S00231.fseex +++|* SPECIFIED ERROR ROUTINE WITHOUT RETURN. 00272 M01S00232.fseex +++|* 00273 M01S00233.fseex +++|* CALLS ERRJUMP, MORTAL, ERROR(INTERNAL), COMPARE(INTERNAL). 00274 M01S00234.fseex +++|# 00275 M01S00235.fseex +++| ITEM NAME C(7), MODE I; 00276 M01S00236.fseex +++| 00277 M01S00237.fseex +++| PROC ERROR(STR); 00278 M01S00238.fseex +++| BEGIN 00279 M01S00239.fseex +++| ITEM STR C(40); 00280 M01S00240.fseex +++| IF MODE GQ 0 THEN ERRJUMP(STR); 00281 M01S00241.fseex +++| MORTAL(STR); 00282 M01S00242.fseex +++| END 00283 M01S00243.fseex +++| 00284 M01S00244.fseex +++| PROC COMPARE(PARM); 00285 M01S00245.fseex +++| BEGIN 00286 M01S00246.fseex +++| ITEM PARM C(7), NAME1 C(7), NAME2 C(7); 00287 M01S00247.fseex +++| NAME1=TRIMNAME(NAME); 00288 M01S00248.fseex +++| NAME2=TRIMNAME(PARM); 00289 M01S00249.fseex +++| IF NAME1 EQ NAME2 THEN ERROR("RESERVED FILE$"); 00290 M01S00250.fseex +++| END 00291 M01S00251.fseex +++| 00292 M01S00252.fseex +++| COMPARE(INPTNAM); 00293 M01S00253.fseex +++| COMPARE(OUTPNAM); 00294 M01S00254.fseex +++| COMPARE(WORKNAM); 00295 M01S00255.fseex +++| COMPARE("ZZZMOVE");
Line S00256 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000008 |
Seq # *Modification Id* Act ----------------------------+ 00296 M02S00256.@000008 ---| IF NOT MSEQUIP(NAME) THEN ERROR("FILE MUST BE ON DISK$"); 00297 M01S00003.@000008 +++| IF NOT MSEQUIP(NAME) THEN 00298 M01S00004.@000008 +++| BEGIN 00299 M01S00005.@000008 +++| IF FILINFSTAT NQ 0 AND FILINFRMS THEN 00300 M01S00006.@000008 +++| BEGIN # IF FILE HAS NO READ PERMISSION # 00301 M01S00007.@000008 +++| ERROR("FILE DOES NOT HAVE READ PERMISSION$"); 00302 M01S00008.@000008 +++| END 00303 M01S00009.@000008 +++| ELSE 00304 M01S00010.@000008 +++| BEGIN # IF FILE IS NOT ON DISK # 00305 M01S00011.@000008 +++| ERROR("FILE MUST BE ON DISK$"); 00306 M01S00012.@000008 +++| END 00307 M01S00013.@000008 +++| END 00308 M01S00257.fseex +++| END # OF VFYFILE # 00309 M01S00258.fseex +++|PAGE # FILE READ SUBROUTINE # 00310 M01S00259.fseex +++| 00311 M01S00260.fseex +++| 00312 M01S00261.fseex +++|PROC FILEREAD; 00313 M01S00262.fseex +++| BEGIN 00314 M01S00263.fseex +++|# 00315 M01S00264.fseex +++|** FILEREAD - READ A LOCAL FILE INTO FILE IMAGE BRACKET. 00316 M01S00265.fseex +++|* 00317 M01S00266.fseex +++|* NOTE THAT TO SAVE THE CPU OVERHEAD OF RELOCATING THE 00318 M01S00267.fseex +++|* POINTER STACKS FOR EVERY INSERTION, WE CALL WORKIO 00319 M01S00268.fseex +++|* DIRECTLY, THEN WE CALL RELOCATE TO CORRECT FOR BYPASSING 00320 M01S00269.fseex +++|* THE "INSY" INTERFACE. 00321 M01S00270.fseex +++|* 00322 M01S00271.fseex +++|* NOTE THAT THE "USRBRK" FLAG IS CONTINUALLY CHECKED 00323 M01S00272.fseex +++|* TO DETECT AN EXTERNAL INTERRUPT. 00324 M01S00273.fseex +++|* 00325 M01S00274.fseex +++|* ENTRY FILNUM - WHICH BRACKET. 00326 M01S00275.fseex +++|* FILEFET - ALREADY INITIALIZED. 00327 M01S00276.fseex +++|* ASCII[FILNUM] - CHARACTER SET. 00328 M01S00277.fseex +++|* 00329 M01S00278.fseex +++|* EXIT NUMBERED[FILNUM] - WHETHER FILE REALLY NUMBERED. 00330 M01S00279.fseex +++|* FILEFET - AT EOI, OR INDETERINATE IF USER BREAK. 00331 M01S00280.fseex +++|* 00332 M01S00281.fseex +++|* CALLS READ, READC, CONVIN, GETLNUM, TRIMPAD, INS, FASTRLC. 00333 M01S00282.fseex +++|* 00334 M01S00283.fseex +++|* USES WIDTHFOUND. 00335 M01S00284.fseex +++|# 00336 M01S00006.@000005 +++| DEF AVERAGE #500#; # AVERAGE FILE SIZE # 00337 M01S00007.@000005 +++| DEF TWOANAHALF #2500#; # TWO AND A HALF SECONDS # 00338 M01S00285.fseex +++| ITEM LOOPCTL, RESULT, LASTNUM, ASCIITYPE, MAXL, RECYCLE, FIRSTPOS; 00339 M01S00286.fseex +++| ITEM ZERO=0;
Line S00287 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000005 |
Seq # *Modification Id* Act ----------------------------+ 00340 M02S00287.@000005 ---| 00341 M01S00008.@000005 +++| ITEM COUNTER I; # LINE COUNTER # 00342 M01S00009.@000005 +++| ITEM SAMPLE I; # LINE SAMPLE RATE # 00343 M01S00010.@000005 +++| ITEM STARTTIME I; # REAL TIME CLOCK (START) # 00344 M01S00011.@000005 +++| ITEM CHECKTIME I; # REAL TIME CLOCK (CHECK) # 00345 M01S00012.@000005 +++| IF SCREENMODE OR DONTPRINT OR NOT INTERACT 00346 M01S00013.@000005 +++| OR READNAM EQ "FSEPROC" THEN 00347 M01S00014.@000005 +++| BEGIN # IF NO MESSAGE SHOULD BE SENT # 00348 M01S00015.@000005 +++| COUNTER = 0; 00349 M01S00016.@000005 +++| END 00350 M01S00017.@000005 +++| ELSE 00351 M01S00018.@000005 +++| BEGIN # MESSAGE MAY BE SENT # 00352 M01S00019.@000005 +++| COUNTER = 1; 00353 M01S00020.@000005 +++| SAMPLE = AVERAGE; 00354 M01S00021.@000005 +++| RTIME(STARTTIME); 00355 M01S00022.@000005 +++| STARTTIME = B<24,36>STARTTIME; 00356 M01S00023.@000005 +++| END 00357 M01S00288.fseex +++| REWIND(FILEFET,1); 00358 M01S00289.fseex +++| READ(FILEFET,0); 00359 M01S00290.fseex +++| FIRSTPOS=CURRENT; 00360 M01S00291.fseex +++| RESULT=0; 00361 M01S00292.fseex +++| MAXL=0; 00362 M01S00293.fseex +++| RECYCLE=0; 00363 M01S00294.fseex +++| LASTNUM=0;
Line S00295 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Updated by) | ns2206 |
Seq # *Modification Id* Act ----------------------------+ 00364 M02S00295.ns2206 ---| ASCIITYPE=ASCII[FILNUM]; 00365 M01S00296.fseex +++| FOR LOOPCTL=LOOPCTL WHILE RESULT EQ 0 AND USRBRK EQ 0 DO 00366 M01S00297.fseex +++| BEGIN 00367 M01S00001.ns2206 +++| ASCIITYPE=ASCII[FILNUM]; # CHARACTER SET FOR FILE # 00368 M01S00298.fseex +++| LINE[0]=0; 00369 M01S00299.fseex +++| READC(FILEFET,TMPLIN,BUFWID2P1,RESULT); 00370 M01S00024.@000005 +++| IF COUNTER NQ 0 THEN 00371 M01S00025.@000005 +++| BEGIN # IF MESSAGE STILL TO ISSUE # 00372 M01S00026.@000005 +++| COUNTER = COUNTER + 1; 00373 M01S00027.@000005 +++| IF COUNTER GR SAMPLE THEN 00374 M01S00028.@000005 +++| BEGIN # IF SAMPLE SIZE REACHED # 00375 M01S00029.@000005 +++| RTIME(CHECKTIME); 00376 M01S00030.@000005 +++| CHECKTIME = B<24,36>CHECKTIME - STARTTIME; 00377 M01S00031.@000005 +++| IF CHECKTIME GR TWOANAHALF THEN 00378 M01S00032.@000005 +++| BEGIN # IF ENOUGH TIME HAS PASSED # 00379 M01S00033.@000005 +++| TTSTR("BUILDING: $"); 00380 M01S00034.@000005 +++| TTLFN(READNAM); 00381 M01S00035.@000005 +++| TTLIN(" ONE MOMENT PLEASE$"); 00382 M01S00036.@000005 +++| COUNTER = 0; # ONE MESSAGE IS ENOUGH # 00383 M01S00037.@000005 +++| VDTCLO(COUNTER); # FLUSH OUTPUT,NO RECALL # 00384 M01S00038.@000005 +++| END 00385 M01S00039.@000005 +++| ELSE 00386 M01S00040.@000005 +++| BEGIN # COMPUTE PROBABLE SAMPLE COUNT # 00387 M01S00041.@000005 +++| SAMPLE = (SAMPLE*TWOANAHALF)/CHECKTIME; 00388 M01S00042.@000005 +++| END 00389 M01S00043.@000005 +++| END 00390 M01S00044.@000005 +++| END 00391 M01S00300.fseex +++| IF RESULT GR 0 THEN 00392 M01S00301.fseex +++| BEGIN 00393 M01S00002.ns2206 +++| ASCIITYPE=1; # CHARACTER SET FOR EORCON # 00394 M01S00302.fseex +++| TMPLINE[0]=EORCON; 00395 M01S00303.fseex +++| FILECODE=1; 00396 M01S00304.fseex +++| READ(FILEFET,1); 00397 M01S00305.fseex +++| IF FILECODE EQ O"31" THEN RESULT=-1; 00398 M01S00306.fseex +++| ELSE IF FILECODE NQ O"1031" OR FILEIN NQ FILEOUT THEN 00399 M01S00307.fseex +++| BEGIN 00400 M01S00308.fseex +++| RESULT=0; 00401 M01S00309.fseex +++| END 00402 M01S00310.fseex +++| END 00403 M01S00311.fseex +++| IF RESULT EQ -1 THEN 00404 M01S00312.fseex +++| BEGIN 00405 M01S00003.ns2206 +++| ASCIITYPE=1; # CHARACTER SET FOR EOFCON # 00406 M01S00313.fseex +++| RESULT=0; 00407 M01S00314.fseex +++| TMPLINE[0]=EOFCON; 00408 M01S00315.fseex +++| FILECODE=1; 00409 M01S00316.fseex +++| READ(FILEFET,0); 00410 M01S00317.fseex +++| END 00411 M01S00318.fseex +++| IF RESULT EQ 0 THEN # PREPARE LINE OF TEXT # 00412 M01S00319.fseex +++| BEGIN 00413 M01S00320.fseex +++| MAXL=MAXL+1; # COUNT RELOCATION FACTOR # 00414 M01S00321.fseex +++| CONVIN(LIN,ASCIITYPE); 00415 M01S00322.fseex +++| IF NUMBERED[FILNUM] NQ 0 THEN # VERIFY/ADJUST SEQUENCE NUMBERS # 00416 M01S00323.fseex +++| BEGIN 00417 M01S00324.fseex +++| GETLNUM; 00418 M01S00325.fseex +++| IF LINENO LQ LASTNUM THEN # FILE IS NOT REALLY SEQUENCED # 00419 M01S00326.fseex +++| BEGIN 00420 M01S00327.fseex +++| NUMBERED[FILNUM]=0; 00421 M01S00328.fseex +++| CHANGED[FILNUM]=0; # TAKE BACK FLAG FOR ADJUSTMENTS # 00422 M01S00329.fseex +++| IF MAXL GR 1 THEN 00423 M01S00330.fseex +++| BEGIN 00424 M01S00331.fseex +++| REWIND(FILEFET,1); 00425 M01S00332.fseex +++| READ(FILEFET,0); 00426 M01S00333.fseex +++| POSZ(FIRSTPOS); 00427 M01S00334.fseex +++| RECYCLE=MAXL-1; 00428 M01S00335.fseex +++| MAXL=0; 00429 M01S00336.fseex +++| TEST LOOPCTL; 00430 M01S00337.fseex +++| END 00431 M01S00338.fseex +++| END 00432 M01S00339.fseex +++| ELSE # ADJUST SEQUENCING DIGITS # 00433 M01S00340.fseex +++| BEGIN 00434 M01S00341.fseex +++| IF WIDTHFOUND EQ NUMWIDTH THEN 00435 M01S00342.fseex +++| BEGIN # FIX INTERVENING BLANK # 00436 M01S00343.fseex +++| GETCHAR(LINE,NUMWIDTH,LINCTR); 00437 M01S00344.fseex +++| IF BLANKS NQ 0 AND LINCTR NQ CBLANK THEN 00438 M01S00345.fseex +++| BEGIN 00439 M01S00346.fseex +++| RSHIFT(LIN,NUMWIDTH,1); 00440 M01S00347.fseex +++| SETCHAR(LINE,NUMWIDTH,CBLANK); 00441 M01S00348.fseex +++| CHANGED[FILNUM]=1; # FLAG THAT WE ADJUSTED TEXT # 00442 M01S00349.fseex +++| END 00443 M01S00350.fseex +++| END
Line S00351 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000002 |
Seq # *Modification Id* Act ----------------------------+ 00444 M02S00351.@000002 ---| IF WIDTHFOUND GR 0 AND WIDTHFOUND LS NUMWIDTH THEN 00445 M01S00001.@000002 +++| IF WIDTHFOUND GR 0 AND WIDTHFOUND LS NUMWIDTH 00446 M01S00002.@000002 +++| AND NUMMODE EQ NUMST"PREFER" THEN 00447 M01S00352.fseex +++| BEGIN # ADJUST DIGITS # 00448 M01S00353.fseex +++| CHANGED[FILNUM]=1; # FLAG THAT WE ADJUSTED TEXT # 00449 M01S00354.fseex +++| SETLNUM; 00450 M01S00355.fseex +++| GETLNUM; 00451 M01S00356.fseex +++| END 00452 M01S00357.fseex +++| END 00453 M01S00358.fseex +++| END 00454 M01S00359.fseex +++| LASTNUM=LINENO; 00455 M01S00360.fseex +++| TRIMPAD; 00456 M01S00361.fseex +++| IF RECYCLE NQ 0 THEN 00457 M01S00362.fseex +++| BEGIN 00458 M01S00363.fseex +++| ZERO = = P<LINEBUF>; # POSITION INVISIBLY # 00459 M01S00364.fseex +++| FWDZ; # POSITION INVISIBLY # 00460 M01S00365.fseex +++| ZERO = = P<LINEBUF>; # POSITION INVISIBLY # 00461 M01S00366.fseex +++| REP; 00462 M01S00367.fseex +++| RECYCLE=RECYCLE-1; 00463 M01S00368.fseex +++| END 00464 M01S00369.fseex +++| ELSE INS; 00465 M01S00370.fseex +++| END 00466 M01S00371.fseex +++| END 00467 M01S00372.fseex +++| FASTRLC(REGSTACK,MAXREG+1,CURRENT-MAXL+1,MAXL); 00468 M01S00373.fseex +++| 00469 M01S00374.fseex +++| END # OF FILEREAD # 00470 M01S00375.fseex +++|PAGE # ADDFILE CONTROLS FILEBUILD # 00471 M01S00376.fseex +++| 00472 M01S00377.fseex +++| 00473 M01S00378.fseex +++|PROC ADDFILE; 00474 M01S00379.fseex +++| BEGIN 00475 M01S00380.fseex +++|# 00476 M01S00381.fseex +++|** ADDFILE - ADD AN EXTERNAL FILE TO INTERNAL FILES. 00477 M01S00382.fseex +++|* 00478 M01S00383.fseex +++|* ENTRY FILNUM - WHICH BRACKET. 00479 M01S00384.fseex +++|* READNAM - FILE NAME. 00480 M01S00385.fseex +++|* CHARPARM - CHARACTER SET PREFERENCE OR DEFAULT. 00481 M01S00386.fseex +++|* GETPARM - PERMANENT/LOCAL PREFERENCE OR DEFAULT. 00482 M01S00387.fseex +++|* ALLASCII - DEFAULT CHARACTER SET. 00483 M01S00388.fseex +++|* SMALLFIELD - WHETHER FIELD LENGTH NOW SMALL OR LARGE. 00484 M01S00389.fseex +++|* BOTC(FILECTL) - BRACKETS FILE DIRECTORY AREA. 00485 M01S00390.fseex +++|* TOPA(AUDITCTL) - BRACKETS AUDIT TRAIL. 00486 M01S00391.fseex +++|* NUMMMODE - WHAT TO DO WITH EMPTY FILE. 00487 M01S00001.@000007 +++|* SCNFDINIT - 1 IF FILE IS INITIAL EDIT FILE, 00488 M01S00002.@000007 +++|* 0 OTHERWISE. 00489 M01S00392.fseex +++|* 00490 M01S00393.fseex +++|* EXIT GETPARM - INDICATES WHETHER GET REALLY DONE. 00491 M01S00394.fseex +++|* LOCKED[FILNUM] - SET BY FILE ATTRIBUTES. 00492 M01S00395.fseex +++|* ASCII[FILNUM] - SET BY PARAMETER. 00493 M01S00396.fseex +++|* CHANGED[FILUM] - FALSE. 00494 M01S00397.fseex +++|* NUMBERED[FILNUM] - SET BY NUMMODE AND FILE CONTENT. 00495 M01S00398.fseex +++|* BOTC, TOPA - RELOCATED, ALSO VARIOUS OTHERS. 00496 M01S00399.fseex +++|* CURRENT, CURF(FILNUM) - TOP OF FILE. 00497 M01S00400.fseex +++|* FDLF(FILNUM) - UPDATED. 00498 M01S00401.fseex +++|* TOPF(FILNUM), BOTF(FILNUM) - BRACKET THE FILE. 00499 M01S00402.fseex +++|* 00500 M01S00403.fseex +++|* USES FILEFET, DSKSIZ, UTILFET. 00501 M01S00404.fseex +++|* 00502 M01S00405.fseex +++|* CALLS VFYFILE, FLDLEN, PAUSEIO, TRIMNAME, ASSGNFILE, 00503 M01S00406.fseex +++|* MAKEFET, GET, WRITEABLE, POSZ, FORMFDL, INSY, 00504 M01S00407.fseex +++|* FILEREAD, REWIND. 00505 M01S00408.fseex +++|# 00506 M01S00409.fseex +++| ITEM NEWNAME C(7); 00507 M01S00410.fseex +++| 00508 M01S00411.fseex +++| VFYFILE(READNAM,0); 00509 M01S00412.fseex +++| 00510 M01S00413.fseex +++| IF SMALLFIELD THEN 00511 M01S00414.fseex +++| BEGIN 00512 M01S00415.fseex +++| FLDLEN(LOC(MAXADDR)+4); 00513 M01S00416.fseex +++| PAUSEIO; # DRAIN BUFFERS SO WE CAN ... # 00514 M01S00417.fseex +++| DSKSIZ=INIDSKSIZ; # ... ENLARGE BUFFERS # 00515 M01S00418.fseex +++| END 00516 M01S00419.fseex +++| 00517 M01S00420.fseex +++| NEWNAME=TRIMNAME(READNAM); 00518 M01S00421.fseex +++| IF GETPARM EQ 1 AND NOT ASSGNFILE(READNAM) THEN GETPARM=2; 00519 M01S00422.fseex +++| IF GETPARM EQ 2 THEN 00520 M01S00423.fseex +++| BEGIN
Line S00424 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00521 M02S00424.@000006 ---| PF("GET",READNAM,READNAM,"RC",PFMERROR,0);
Line S00425 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00522 M02S00425.@000006 ---| IF PFMERROR NQ 0 THEN 00523 M01S00002.@000006 +++| PF("GET",READNAM,READNAM,"RC",PFMERROR,"EM",PFMMSG,"EL","40",0); 00524 M01S00003.@000006 +++| IF PFMERROR EQ 0 THEN 00525 M01S00004.@000006 +++| BEGIN # IF POSSIBLE CALL TO *CPUPFM* # 00526 M01S00005.@000006 +++| IF SCREENMODE AND TABTYPHEAD[0] THEN 00527 M01S00006.@000006 +++| BEGIN # IF RUNNING WITH TYPE AHEAD # 00528 M01S00007.@000006 +++| VDTPRT$(0); # ASSURE PROMPT IS OFF # 00529 M01S00008.@000006 +++| END 00530 M01S00009.@000006 +++| END 00531 M01S00010.@000006 +++| IF PFMERROR EQ FNF THEN 00532 M01S00426.fseex +++| BEGIN
Line S00427 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00533 M02S00427.281l803 ---| PF("ATTACH",READNAM,READNAM,"RC",PFMERROR,"M","W","NA","YES",0); 00534 M01S00001.281l803 +++| PF("ATTACH",READNAM,READNAM,"RC",PFMERROR,"M","W","NA","YES",
Line S00002 Modification History | |
---|---|
M01 (Added by) | 281l803 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00535 M02S00002.@000006 ---| "SR","NF",0);
Line S00428 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00536 M02S00428.@000006 ---| END
Line S00002 Modification History | |
---|---|
M01 (Yanked) (Added by) | @000003 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00537 M02S00002.@000006 ---| ELSE
Line S00003 Modification History | |
---|---|
M01 (Yanked) (Added by) | @000003 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00538 M02S00003.@000006 ---| BEGIN # IF POSSIBLE CALL TO *CPUPFM* #
Line S00004 Modification History | |
---|---|
M01 (Yanked) (Added by) | @000003 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00539 M02S00004.@000006 ---| IF SCREENMODE AND TABTYPHEAD[0] THEN
Line S00005 Modification History | |
---|---|
M01 (Yanked) (Added by) | @000003 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00540 M02S00005.@000006 ---| BEGIN # IF RUNNING WITH TYPE AHEAD #
Line S00006 Modification History | |
---|---|
M01 (Yanked) (Added by) | @000003 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00541 M02S00006.@000006 ---| VDTPRT$(0); # ASSURE PROMPT IS OFF #
Line S00007 Modification History | |
---|---|
M01 (Yanked) (Added by) | @000003 |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00542 M02S00007.@000006 ---| END 00543 M01S00011.@000006 +++| "SR","NF","EM",PFMMSG,"EL","40",0); 00544 M01S00008.@000003 +++| END 00545 M01S00429.fseex +++| IF PFMERROR NQ 0 THEN 00546 M01S00430.fseex +++| BEGIN
Line S00431 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000006 |
Seq # *Modification Id* Act ----------------------------+ 00547 M02S00431.@000006 ---| ERRSTRING="PFN BUSY OR NOT FOUND, USING LOCAL FILE$"; 00548 M01S00012.@000006 +++| C<0,18>ERRSTRING="USING LOCAL FILE -"; 00549 M01S00013.@000006 +++| C<18,40>ERRSTRING=C<0,40>PFMMSG; 00550 M01S00014.@000006 +++| C<58,1>ERRSTRING="$"; 00551 M01S00432.fseex +++| END 00552 M01S00433.fseex +++| END 00553 M01S00434.fseex +++| IF GETPARM GQ 2 THEN GETPARM=0; 00554 M01S00435.fseex +++| FILENAM[FILNUM]=NEWNAME; 00555 M01S00436.fseex +++| CHANGED[FILNUM]=0; 00556 M01S00437.fseex +++| LOCKED[FILNUM]=0; 00557 M01S00003.@000007 +++| INITFILE[FILNUM]=SCNFDINIT; 00558 M01S00438.fseex +++| ASCII[FILNUM]=CHARPARM; 00559 M01S00439.fseex +++| IF CHARPARM EQ 0 AND ALLASCII THEN ASCII[FILNUM]=2;
Line S00440 Modification History | |
---|---|
M01 (Added by) | fseex |
M02 (Yanked) (Updated by) | @000004 |
Seq # *Modification Id* Act ----------------------------+ 00560 M02S00440.@000004 ---| NUMBERED[FILNUM]=1; 00561 M01S00441.fseex +++| IF NOT WRITEABLE(READNAM) THEN LOCKED[FILNUM]=1; 00562 M01S00442.fseex +++| POSZ(BOTC(FILECTL)-1); 00563 M01S00443.fseex +++| FORMFDL(FILNUM); 00564 M01S00444.fseex +++| INSY; 00565 M01S00445.fseex +++| FDLF(FILNUM)=CURRENT; 00566 M01S00446.fseex +++| 00567 M01S00447.fseex +++| # NEW FILE BRACKET GOES BEFORE AUDIT TRAIL BRACKET # 00568 M01S00448.fseex +++| POSZ(TOPA(AUDITCTL)-1); 00569 M01S00449.fseex +++| TOPF(FILNUM)=CURRENT; 00570 M01S00450.fseex +++| MAKEFET(FILEFET,READNAM,FILEBUF,DSKSIZ); 00571 M01S00451.fseex +++| IF ASSGNFILE(READNAM) THEN 00572 M01S00452.fseex +++| BEGIN 00573 M01S00453.fseex +++| FILEREAD; 00574 M01S00454.fseex +++| REWIND(FILEFET,0); 00575 M01S00455.fseex +++| END 00576 M01S00456.fseex +++| LINE[0]=NULLIN; 00577 M01S00457.fseex +++| INSY; 00578 M01S00458.fseex +++| BOTF(FILNUM)=CURRENT; 00579 M01S00459.fseex +++| 00580 M01S00460.fseex +++| IF BOTF(FILNUM) EQ TOPF(FILNUM)+1 THEN 00581 M01S00461.fseex +++| BEGIN 00582 M01S00462.fseex +++| POSZ(TOPF(FILNUM)); 00583 M01S00463.fseex +++| IF NUMMODE EQ NUMST"INTERPRET" THEN NUMBERED[FILNUM]=0; 00584 M01S00464.fseex +++| END 00585 M01S00465.fseex +++| ELSE POSZ(TOPF(FILNUM)+1); 00586 M01S00466.fseex +++| CURF(FILNUM)=CURRENT; 00587 M01S00467.fseex +++| 00588 M01S00468.fseex +++| IF SMALLFIELD THEN 00589 M01S00469.fseex +++| BEGIN 00590 M01S00470.fseex +++| PAUSEIO; # DRAIN BUFFERS SO WE CAN ... # 00591 M01S00471.fseex +++| DSKSIZ=DISKSIZE; # ... SHRINK BUFFERS BACK # 00592 M01S00472.fseex +++| FLDLEN(LOC(WORKBUF)+DSKSIZ+4); 00593 M01S00473.fseex +++| END 00594 M01S00474.fseex +++| 00595 M01S00475.fseex +++| END # OF ADDFILE # 00596 M01S00476.fseex +++| 00597 M01S00477.fseex +++| 00598 M01S00478.fseex +++|END TERM
cdc/nos2.source/opl.opl871/deck/fseex.txt ยท Last modified: by 127.0.0.1