<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=FileStatus</id>
	<title>FileStatus - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://pickwiki.org/index.php?action=history&amp;feed=atom&amp;title=FileStatus"/>
	<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=FileStatus&amp;action=history"/>
	<updated>2026-04-28T22:10:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://pickwiki.org/index.php?title=FileStatus&amp;diff=1786&amp;oldid=prev</id>
		<title>Conversion script: link fix</title>
		<link rel="alternate" type="text/html" href="https://pickwiki.org/index.php?title=FileStatus&amp;diff=1786&amp;oldid=prev"/>
		<updated>2015-02-26T23:48:54Z</updated>

		<summary type="html">&lt;p&gt;link fix&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Back to [[BasicSource]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
      PROGRAM FILESTATUS&lt;br /&gt;
* ECL - KRJ - Universe - information about a file using STATUS*&lt;br /&gt;
*&lt;br /&gt;
      EQU AM TO CHAR(254), VM TO CHAR(253), SM TO CHAR(252)&lt;br /&gt;
      TRUE = 1 = 1; FALSE = NOT(TRUE); QT = &amp;#039;&amp;quot;\&amp;#039;:&amp;quot;&amp;#039;&amp;quot;&lt;br /&gt;
      REST = @SENTENCE&lt;br /&gt;
      KEEPQUOT = FALSE&lt;br /&gt;
      GOSUB PARSE.REST&lt;br /&gt;
      TEMP = DCOUNT(BITE,AM)&lt;br /&gt;
      OPTIONS = BITE&amp;lt;TEMP&amp;gt;&lt;br /&gt;
      IF OPTIONS[1,1] = &amp;#039;(&amp;#039; THEN&lt;br /&gt;
         OPTIONS = FIELD(FIELD(OPTIONS,&amp;#039;(&amp;#039;,2),&amp;#039;)&amp;#039;,1)&lt;br /&gt;
         BITE = DELETE(BITE,TEMP,0,0)&lt;br /&gt;
      END ELSE OPTIONS = &amp;#039;&amp;#039;&lt;br /&gt;
      IF OCONV(BITE&amp;lt;1&amp;gt;,&amp;#039;MCU&amp;#039;) = &amp;#039;RUN&amp;#039; THEN&lt;br /&gt;
         BITE = DELETE(BITE,1,0,0)&lt;br /&gt;
         BITE = DELETE(BITE,1,0,0)&lt;br /&gt;
      END&lt;br /&gt;
      BITE = DELETE(BITE,1,0,0)&lt;br /&gt;
*&lt;br /&gt;
      FNAM = BITE&amp;lt;1&amp;gt;&lt;br /&gt;
      BITE = DELETE(BITE,1,0,0)&lt;br /&gt;
      IF FNAM = &amp;#039;DICT&amp;#039; THEN&lt;br /&gt;
         FNAM = FNAM:&amp;#039; &amp;#039;:BITE&amp;lt;1&amp;gt;&lt;br /&gt;
         BITE = DELETE(BITE,1,0,0)&lt;br /&gt;
      END&lt;br /&gt;
* Get file&lt;br /&gt;
      LOOP&lt;br /&gt;
         GOT.FILE = FALSE&lt;br /&gt;
         IF FNAM = &amp;#039;&amp;#039; THEN&lt;br /&gt;
            CRT &amp;#039;File &amp;gt;&amp;#039;:&lt;br /&gt;
            INPUT FNAM&lt;br /&gt;
         END&lt;br /&gt;
         IF FNAM = &amp;#039;&amp;#039; THEN STOP&lt;br /&gt;
         DPRT = FIELD(FNAM,&amp;#039; &amp;#039;,1)&lt;br /&gt;
         FPRT = FIELD(FNAM,&amp;#039; &amp;#039;,2)&lt;br /&gt;
         IF FPRT = &amp;#039;&amp;#039; THEN FPRT = DPRT ; DPRT = &amp;#039;&amp;#039;&lt;br /&gt;
         OPEN DPRT, FPRT TO FILE THEN&lt;br /&gt;
            GOT.FILE = TRUE&lt;br /&gt;
         END ELSE&lt;br /&gt;
            CRT &amp;#039;Unable to find file &amp;quot;&amp;#039;:FNAM:&amp;#039;&amp;quot;.&amp;#039;&lt;br /&gt;
            FNAM = &amp;#039;&amp;#039;&lt;br /&gt;
         END&lt;br /&gt;
      UNTIL GOT.FILE DO&lt;br /&gt;
      REPEAT&lt;br /&gt;
*&lt;br /&gt;
      STATUS JUNK FROM FILE ELSE STOP&lt;br /&gt;
&lt;br /&gt;
*     CRT &amp;#039;             Current position :&amp;#039;: JUNK&amp;lt;1&amp;gt;&lt;br /&gt;
*     CRT &amp;#039;          End of file reached :&amp;#039;: JUNK&amp;lt;2&amp;gt;&lt;br /&gt;
*     CRT &amp;#039;         Error accessing file :&amp;#039;: JUNK&amp;lt;3&amp;gt;&lt;br /&gt;
*     CRT &amp;#039;    Number of bytes available :&amp;#039;: JUNK&amp;lt;4&amp;gt;&lt;br /&gt;
      CRT &amp;#039;              File Permissions :&amp;#039;: OCONV(JUNK&amp;lt;5&amp;gt;,&amp;#039;MO&amp;#039;)&lt;br /&gt;
      CRT &amp;#039;                     File Size :&amp;#039;: JUNK&amp;lt;6&amp;gt;:&amp;#039; bytes&amp;#039;&lt;br /&gt;
      CRT &amp;#039;          Number of hard links :&amp;#039;: JUNK&amp;lt;7&amp;gt;&lt;br /&gt;
      CRT &amp;#039;              User ID of owner :&amp;#039;: JUNK&amp;lt;8&amp;gt;&lt;br /&gt;
      CRT &amp;#039;             Group ID of owner :&amp;#039;: JUNK&amp;lt;9&amp;gt;&lt;br /&gt;
      CRT &amp;#039;                 I-node number :&amp;#039;: JUNK&amp;lt;10&amp;gt;&lt;br /&gt;
      CRT &amp;#039;        Device on which i-node :&amp;#039;: JUNK&amp;lt;11&amp;gt;&lt;br /&gt;
      CRT &amp;#039;       Device for special char :&amp;#039;: JUNK&amp;lt;12&amp;gt;&lt;br /&gt;
      CRT &amp;#039;                 Last Accessed :&amp;#039;: OCONV(JUNK&amp;lt;14&amp;gt;,&amp;#039;D&amp;#039;):&lt;br /&gt;
      CRT                                &amp;#039; &amp;#039;: OCONV(JUNK&amp;lt;13&amp;gt;,&amp;#039;MTS&amp;#039;)&lt;br /&gt;
      CRT &amp;#039;                 Last modified :&amp;#039;: OCONV(JUNK&amp;lt;16&amp;gt;,&amp;#039;D&amp;#039;):&lt;br /&gt;
      CRT                                &amp;#039; &amp;#039;: OCONV(JUNK&amp;lt;15&amp;gt;,&amp;#039;MTS&amp;#039;)&lt;br /&gt;
      CRT &amp;#039;           Last Status Changed :&amp;#039;: OCONV(JUNK&amp;lt;18&amp;gt;,&amp;#039;D&amp;#039;):&lt;br /&gt;
      CRT                                &amp;#039; &amp;#039;: OCONV(JUNK&amp;lt;17&amp;gt;,&amp;#039;MTS&amp;#039;)&lt;br /&gt;
*     CRT &amp;#039;    Bytes left in output queue :&amp;#039;: JUNK&amp;lt;19&amp;gt;&lt;br /&gt;
      CRT &amp;#039;     Operating system filename :&amp;#039;: JUNK&amp;lt;20&amp;gt;&lt;br /&gt;
      CRT &amp;#039; File type, Modulo, Separation :&amp;#039;: JUNK&amp;lt;21&amp;gt;:&lt;br /&gt;
      CRT                                &amp;#039;,&amp;#039;: JUNK&amp;lt;22&amp;gt;:&amp;#039;,&amp;#039;:JUNK&amp;lt;23&amp;gt;&lt;br /&gt;
      CRT &amp;#039;    Part numbers of part files :&amp;#039;: JUNK&amp;lt;24&amp;gt;&lt;br /&gt;
      CRT &amp;#039;       Pathnames of part files :&amp;#039;: JUNK&amp;lt;25&amp;gt;&lt;br /&gt;
      CRT &amp;#039;       Filenames of part files :&amp;#039;: JUNK&amp;lt;26&amp;gt;&lt;br /&gt;
      CRT &amp;#039;                 Full pathname :&amp;#039;: JUNK&amp;lt;27&amp;gt;&lt;br /&gt;
      CRT &amp;#039;           SQL file privileges :&amp;#039;:&lt;br /&gt;
      PRIV = JUNK&amp;lt;28&amp;gt;&lt;br /&gt;
      BEGIN CASE&lt;br /&gt;
         CASE PRIV = &amp;#039;1&amp;#039; ; CRT &amp;#039;write-only&amp;#039;&lt;br /&gt;
         CASE PRIV = &amp;#039;2&amp;#039; ; CRT &amp;#039;read-only&amp;#039;&lt;br /&gt;
         CASE PRIV = &amp;#039;3&amp;#039; ; CRT &amp;#039;read/write&amp;#039;&lt;br /&gt;
         CASE PRIV = &amp;#039;4&amp;#039; ; CRT &amp;#039;delete-only&amp;#039;&lt;br /&gt;
         CASE PRIV = &amp;#039;5&amp;#039; ; CRT &amp;#039;delete/write&amp;#039;&lt;br /&gt;
         CASE PRIV = &amp;#039;6&amp;#039; ; CRT &amp;#039;delete/read&amp;#039;&lt;br /&gt;
         CASE PRIV = &amp;#039;7&amp;#039; ; CRT &amp;#039;delete/read/write&amp;#039;&lt;br /&gt;
         CASE 1 ; CRT PRIV&lt;br /&gt;
      END CASE&lt;br /&gt;
      CRT &amp;#039;      SQL file privileges flag :&amp;#039;: JUNK&amp;lt;29&amp;gt;&lt;br /&gt;
      CRT &amp;#039;               Owner User name :&amp;#039;: JUNK&amp;lt;30&amp;gt;&lt;br /&gt;
      CRT &amp;#039;                UNIX file type :&amp;#039;: JUNK&amp;lt;31&amp;gt;:&amp;#039; &amp;#039;:&lt;br /&gt;
      TYPE = JUNK&amp;lt;32&amp;gt;&lt;br /&gt;
      BEGIN CASE&lt;br /&gt;
         CASE TYPE = &amp;#039;1&amp;#039; ; CRT &amp;#039;Old 32-bit file&amp;#039;&lt;br /&gt;
         CASE TYPE = &amp;#039;3&amp;#039; ; CRT &amp;#039;New 32-bit file&amp;#039;&lt;br /&gt;
         CASE TYPE = &amp;#039;5&amp;#039; ; CRT &amp;#039;New 64-bit file&amp;#039;&lt;br /&gt;
         CASE 1 ; CRT TYPE&lt;br /&gt;
      END CASE&lt;br /&gt;
&lt;br /&gt;
      STOP&lt;br /&gt;
*&lt;br /&gt;
PARSE.REST:&lt;br /&gt;
      BITE = &amp;#039;&amp;#039;&lt;br /&gt;
      FLAG = &amp;#039;&amp;#039;&lt;br /&gt;
      POSN = 1&lt;br /&gt;
      XXCNT = LEN(REST)&lt;br /&gt;
      FOR XX = 1 TO XXCNT&lt;br /&gt;
         BIT = REST[XX,1]&lt;br /&gt;
         IF FLAG EQ &amp;#039;&amp;#039; THEN&lt;br /&gt;
            IF BIT = &amp;#039; &amp;#039; THEN&lt;br /&gt;
               IF BITE&amp;lt;POSN&amp;gt; NE &amp;#039;&amp;#039; THEN POSN = POSN + 1&lt;br /&gt;
            END ELSE&lt;br /&gt;
               IF INDEX(QT,BIT,1) THEN&lt;br /&gt;
                  FLAG = BIT&lt;br /&gt;
                  IF KEEPQUOT THEN BITE&amp;lt;POSN&amp;gt; = BITE&amp;lt;POSN&amp;gt;:BIT&lt;br /&gt;
               END ELSE&lt;br /&gt;
                  IF BIT = &amp;#039;(&amp;#039; THEN&lt;br /&gt;
                     FLAG = &amp;#039;)&amp;#039;&lt;br /&gt;
                     IF BITE&amp;lt;POSN&amp;gt; NE &amp;#039;&amp;#039; THEN POSN = POSN + 1&lt;br /&gt;
                     BITE&amp;lt;POSN&amp;gt; = &amp;#039;(&amp;#039;&lt;br /&gt;
                  END ELSE BITE&amp;lt;POSN&amp;gt; = BITE&amp;lt;POSN&amp;gt;:BIT&lt;br /&gt;
               END&lt;br /&gt;
            END&lt;br /&gt;
         END ELSE&lt;br /&gt;
            IF BIT NE FLAG THEN&lt;br /&gt;
               BITE&amp;lt;POSN&amp;gt; = BITE&amp;lt;POSN&amp;gt;:BIT&lt;br /&gt;
            END ELSE&lt;br /&gt;
               IF KEEPQUOT OR BIT = &amp;#039;)&amp;#039; THEN BITE&amp;lt;POSN&amp;gt; = BITE&amp;lt;POSN&amp;gt;:BIT&lt;br /&gt;
               POSN = POSN + 1&lt;br /&gt;
               FLAG = &amp;#039;&amp;#039;&lt;br /&gt;
            END&lt;br /&gt;
         END&lt;br /&gt;
      NEXT XX&lt;br /&gt;
      RETURN&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Conversion script</name></author>
	</entry>
</feed>