Provided by: atfs-dev_1.4pl6-14_amd64 bug


       atExpandAttrs, atExpand - attribute expansion


       #include <atfs.h>
       #include <atfstk.h>

       int  atExpandAttrs  (Af_key  *aso, char *buf, size_t bufSize, FILE *dest, size_t destSize,
       int mode);

       int atExpand;


       atExpandAttrs scans the char buffer buf to the extent of bufSize for strings of  the  form
       $__attributeName  optionally  followed by a delimiting (second) dollar sign ($). If such a
       string is found, the buffer contents up to the character preceding the first  dollar  sign
       will  be  sent  to the destination output dest. If an attribute with name attributeName is
       set  for  the  current  attributed  software  object  aso,  the  citation-string  will  be
       substituted  by  the  value  of  that attribute and appended to the output.  Output of buf
       contents resumes with the first character after the whitespace character  or  dollar  sign
       delimiting attributeName.

       Despite  the  type  of the dest argument (pointer to file structure), atExpandAttrs may be
       caused to copy it's output to a string buffer rather than an open file. In this case,  the
       constant  AT_EXPAND_STRING  must  be  given  as  mode  argument and bufSize must be set to
       indicate the length of the destination buffer dest (will be casted to character  pointer).
       If destSize is to small to hold the result string, atExpandAttrs returns a negative value.
       In the regular case, where output shall be written to a file, the mode parameter  must  be

       The  atExpand  variable suppresses attribute expansion when set FALSE. The variable may be
       set either directly from the application program if indirectly by evaluation of the pseudo
       attribute  citation  $__xpoff  in  any  buffer  scanned  by  atExpandAttrs. Another pseudo
       attribute citation $__xpon  cancels  the  effect  of  a  previous  $__xpoff  and  switches
       attribute  citation  on again. It does not, however, enable attribute citation if this was
       disabled explicitly by the application program.


       atExpandAttrs returns -1 on error. Additionally, the atError variable is set and  afErrMsg
       holds a diagnostic message.