HP3000-L Archives

January 1997, Week 4

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Thu, 23 Jan 1997 20:46:15 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (100 lines)
Hi,

Paul asks:
> was in another account TEST. Doing a LISTF, -3 on the two files shows
> the creator to be USER.PROD for the file in the PROD account and
> USER.TEST in the WIP account.
...
> ACCTVAR,FINFO("FOO.PUB.WIP","CREATOR") returns no value in SHOWVAR
> ACCTVAR. These are done from the TEST account.

Because the FINFO function uses the FLABELINFO intrinsic to get the
creator name, calling it with item # 4.

However, as implied by <plug> CSEQ </plug>, that's risky...FLABELINFO
item 4 is documented as returning a maximum of 8 characters, so when
the ability to create files across account boundaries was implemented, the
engineers in the lab said "hey, let's return an error or something
for FLABELINFO #4 if the creator isn't in the same account as the file,
because otherwise we'll be returning incorrect information".
Then, they added FLABELINFO
item 43 to get the "full" creator name (user.account).

Unfortunately, the "or something" turned into: "let's return 8 blanks"
and *NOT* report an error!

So, the CI should probably use item 43 ... but that raises the chance of
backwards incompatibility.

<plug>

Here's what CSEQ showed, BTW:

:cseq flabelinfo

CSEQ [2.0] - LPS Toolbox [A.01j]            (c) 1995 Lund Performance Solutions

For Help at the CSEQ prompt enter   ?
The number of days left in your DV Toolbox Demo is 158


Procedure FLABELINFO (
   filename     : anyvar record  ;        {R26}
   mode         :        int16   ;        {R25}
   error        : var    int16   ;        {R24}
   itemnums     : anyvar record  ;        {R23, @32 -> 4800}
   itemvalues   : anyvar record  ;        {SP-$0034}
   itemerrors   : anyvar record  )        {SP-$0038, @32 -> 4800}
      { CCE: ok                                                  }
      { CCL: error                                               }
   {mode:                                                              }
   {    0 use file equation, if one exists                             }
   {    1 MUST use file equation (if none, error!)                     }
   {    2 ignore file equation, if one exists                          }
   {  or: (as of 5.0, a different viewpoint)                           }
   {    (00:11) reserved                                               }
   {    (11:01) Symbolic Link traversal (1=don't)                      }
   {    (12:02) Callers Privilege Level                                }
   {            (non-0: use specified value instead                    }
   {            of caller's actual priv level)                         }
   {    (14:02) 0: use file eq, if one exists                          }
   {            1: MUST use file eq                                    }
   {            2: DON'T use file eq                                   }
   {error:                                                             }
   {    0 = no errors                                                  }
   {    > 0 = file system error code.  items not returned              }
   {    -1  = see itemerrors                                           }
   {itemerrors:  (array of 16-bit err#s)                               }
   {itemvalues:  results, end-to-end (packed)                          }
   {itemnums:    (array of 16-bit item#s)                              }
   {    0     Stopper (must be last item#)                             }
   {    1 ca8 file name                                                }
   {    2 ca8 group name                                               }
   {    3 ca8 account name                                             }
   {    4 ca8 creator name (maybe...use #43 to be safe)                }
   {    5 u32 security matrix                                          }
   {    6 u16 creation date     calendar format                        }
   {    7 u16 access date       "        "                             }
   {    8 u16 modification date "        "                             }
   {    9 i16 filecode                                                 }
...
   {   36 ca4 transaction mgt logset id                                }
   { new on 5.0: (?)                                                   }
   {   37 u16 logical device number                                    }
   {   38 rec HFS filename; first 4 bytes are I/O:                     }
   {          on input, size of param                                  }
   {          on output, #bytes in filename                            }
   {          Filename will be terminated by null.                     }
   {   39 u32 # hard links to file                                     }
   {   40 i32 time since last file access (clock format)               }
   {   41 i32 time of last file status change (clock fmt)              }
   {   42 u16 date of last file status change (calendar)               }
   {   43 ca32 file owner.  (May be "0")                               }
...

</plug>

--
Stan Sieler                                          [log in to unmask]
                                     http://www.allegro.com/sieler.html

ATOM RSS1 RSS2