3 * Copyright (C) 1991, 1992, 1993, 2000, 2004, 2011 by Larry Wall and others
5 * You may distribute under the terms of either the GNU General Public
6 * License or the Artistic License, as specified in the README file.
10 #define FF_END 0 /* tidy up, then return */
11 #define FF_LINEMARK 1 /* start (or end) of a line */
12 #define FF_LITERAL 2 /* append <arg> literal chars */
13 #define FF_SKIP 3 /* skip <arg> chars in format */
14 #define FF_FETCH 4 /* get next item and set field size to <arg> */
15 #define FF_CHECKNL 5 /* find max len of item (up to \n) that fits field */
16 #define FF_CHECKCHOP 6 /* like CHECKNL, but up to highest split point */
17 #define FF_SPACE 7 /* append padding space (diff of field, item size) */
18 #define FF_HALFSPACE 8 /* like FF_SPACE, but only append half as many */
19 #define FF_ITEM 9 /* append a text item, while blanking ctrl chars */
20 #define FF_CHOP 10 /* (for ^*) chop the current item */
21 #define FF_LINEGLOB 11 /* process @* */
22 #define FF_DECIMAL 12 /* do @##, ^##, where <arg>=(precision|flags) */
23 #define FF_NEWLINE 13 /* delete trailing spaces, then append \n */
24 #define FF_BLANK 14 /* for arg==0: do '~'; for arg>0 : do '~~' */
25 #define FF_MORE 15 /* replace long end of string with '...' */
26 #define FF_0DECIMAL 16 /* like FF_DECIMAL but for 0### */
27 #define FF_LINESNGL 17 /* process ^* */