Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
First pass at tests for format_code().
Matthew Seaman committed 12 years ago
commit 723794d81b26d8560fbb15959715df7d552177f8
parent 55d2838
1 file changed +649 -0
modified tests/pkg_printf/test.c
@@ -1330,6 +1330,654 @@ ATF_TC_BODY(field_width, tc)
	free_percent_esc(p);
}

+
ATF_TC(format_code);
+
ATF_TC_HEAD(format_code, tc)
+
	
+
{
+
	atf_tc_set_md_var(tc, "descr",
+
	    "Testing format_code() format parsing routine");
+
}
+
ATF_TC_BODY(format_code, tc)
+
{
+
	struct percent_esc	*p;
+
	const char		*f;
+
	int		 	i;
+

+
	struct fc_test_vals {
+
		const char *in;
+
		unsigned context;
+
		fmt_code_t fmt_code; 
+
		ptrdiff_t   fend_offset; /* Where f is left pointing */
+
		char	    fend_val; /* expected first char in fend */
+
	} fc_test_vals[] = {
+
		{ "B",  PP_PKG, PP_PKG_SHLIBS,            1, '\0', }, /* 0 */
+
		{ "Bn", PP_PKG, PP_PKG_SHLIBS,            1, 'n',  },
+
		{ "C",  PP_PKG, PP_PKG_CATEGORIES,        1, '\0', },
+
		{ "Cn", PP_PKG, PP_PKG_CATEGORIES,        1, 'n',  },
+
		{ "D",  PP_PKG, PP_PKG_DIRECTORIES,       1, '\0', },
+
		{ "Dg", PP_PKG, PP_PKG_DIRECTORIES,       1, 'g',  },
+
		{ "Dk", PP_PKG, PP_PKG_DIRECTORIES,       1, 'k',  },
+
		{ "Dn", PP_PKG, PP_PKG_DIRECTORIES,       1, 'n',  },
+
		{ "Dp", PP_PKG, PP_PKG_DIRECTORIES,       1, 'p',  },
+
		{ "Dt", PP_PKG, PP_PKG_DIRECTORIES,       1, 't',  },
+
		{ "Du", PP_PKG, PP_PKG_DIRECTORIES,       1, 'u',  }, /* 10 */
+
		{ "F",  PP_PKG, PP_PKG_FILES,             1, '\0', },
+
		{ "Fg", PP_PKG, PP_PKG_FILES,             1, 'g',  },
+
		{ "Fk", PP_PKG, PP_PKG_FILES,             1, 'k',  },
+
		{ "Fn", PP_PKG, PP_PKG_FILES,             1, 'n',  },
+
		{ "Fp", PP_PKG, PP_PKG_FILES,             1, 'p',  },
+
		{ "Fs", PP_PKG, PP_PKG_FILES,             1, 's',  },
+
		{ "Fu", PP_PKG, PP_PKG_FILES,             1, 'u',  },
+
		{ "G",  PP_PKG, PP_PKG_GROUPS,            1, '\0', },
+
		{ "Gg", PP_PKG, PP_PKG_GROUPS,            1, 'g',  },
+
		{ "Gn", PP_PKG, PP_PKG_GROUPS,            1, 'n',  }, /* 20 */
+
		{ "I",  PP_PKG, PP_UNKNOWN,               0, 'I',  },
+
		{ "L",  PP_PKG, PP_PKG_LICENSES,          1, '\0', },
+
		{ "Ln", PP_PKG, PP_PKG_LICENSES,          1, 'n',  },
+
		{ "M",  PP_PKG, PP_PKG_MESSAGE,           1, '\0', },
+
		{ "O",  PP_PKG, PP_PKG_OPTIONS,           1, '\0', },
+
		{ "On", PP_PKG, PP_PKG_OPTIONS,           1, 'n',  },
+
		{ "Ov", PP_PKG, PP_PKG_OPTIONS,           1, 'v',  },
+
		{ "U",  PP_PKG, PP_PKG_USERS,             1, '\0', },
+
		{ "Un", PP_PKG, PP_PKG_USERS,             1, 'n',  },
+
		{ "Uu", PP_PKG, PP_PKG_USERS,             1, 'u',  }, /* 30 */
+
		{ "a",  PP_PKG, PP_PKG_AUTOREMOVE,        1, '\0', },
+
		{ "c",  PP_PKG, PP_PKG_COMMENT,           1, '\0', },
+
		{ "d",  PP_PKG, PP_PKG_DEPENDENCIES,      1, '\0', },
+
		{ "dn", PP_PKG, PP_PKG_DEPENDENCIES,      1, 'n',  },
+
		{ "do", PP_PKG, PP_PKG_DEPENDENCIES,      1, 'o',  },
+
		{ "dv", PP_PKG, PP_PKG_DEPENDENCIES,      1, 'v',  },
+
		{ "i",  PP_PKG, PP_PKG_ADDITIONAL_INFO,   1, '\0', },
+
		{ "k",  PP_PKG, PP_PKG_LOCK_STATUS,       1, '\0', },
+
		{ "l",  PP_PKG, PP_PKG_LICENSE_LOGIC,     1, '\0', },
+
		{ "m",  PP_PKG, PP_PKG_MAINTAINER,        1, '\0', }, /* 40 */
+
		{ "n",  PP_PKG, PP_PKG_NAME,              1, '\0', },
+
		{ "o",  PP_PKG, PP_PKG_ORIGIN,            1, '\0', },
+
		{ "p",  PP_PKG, PP_PKG_PREFIX,            1, '\0', },
+
		{ "r",  PP_PKG, PP_PKG_REQUIREMENTS,      1, '\0', },
+
		{ "rn", PP_PKG, PP_PKG_REQUIREMENTS,      1, 'n',  },
+
		{ "ro", PP_PKG, PP_PKG_REQUIREMENTS,      1, 'o',  },
+
		{ "rv", PP_PKG, PP_PKG_REQUIREMENTS,      1, 'v',  },
+
		{ "s",  PP_PKG, PP_PKG_FLATSIZE,          1, '\0', },
+
		{ "t",  PP_PKG, PP_PKG_INSTALL_TIMESTAMP, 1, '\0', },
+
		{ "v",  PP_PKG, PP_PKG_VERSION,           1, '\0', }, /* 50 */
+
		{ "w",  PP_PKG, PP_PKG_HOME_PAGE,         1, '\0', },
+
		{ "%",  PP_PKG, PP_LITERAL_PERCENT,       1, '\0', },
+
		{ "x",  PP_PKG, PP_UNKNOWN,               0, 'x',  },
+

+
		{ "B",  PP_B, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_B, PP_PKG_SHLIB_NAME,          2, '\0', },
+
		{ "C",  PP_B, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_B, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_B, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_B, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_B, PP_UNKNOWN,                 0, 'D',  }, /* 60 */
+
		{ "Dn", PP_B, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_B, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_B, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_B, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_B, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_B, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_B, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_B, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_B, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_B, PP_UNKNOWN,                 0, 'F',  }, /* 70 */
+
		{ "Fu", PP_B, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_B, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_B, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_B, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_B, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_B, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_B, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_B, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_B, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_B, PP_UNKNOWN,                 0, 'O',  }, /* 80 */
+
		{ "Ov", PP_B, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_B, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_B, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_B, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_B, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_B, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_B, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_B, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_B, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_B, PP_UNKNOWN,                 0, 'd',  }, /* 90 */
+
		{ "i",  PP_B, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_B, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_B, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_B, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_B, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_B, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_B, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_B, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_B, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_B, PP_UNKNOWN,                 0, 'r',  }, /* 100 */
+
		{ "rv", PP_B, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_B, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_B, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_B, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_B, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_B, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_B, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_C, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_C, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_C, PP_UNKNOWN,                 0, 'C',  }, /* 110 */
+
		{ "Cn", PP_C, PP_PKG_CATEGORY_NAME,       2, '\0', },
+
		{ "D",  PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_C, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_C, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_C, PP_UNKNOWN,                 0, 'F',  }, /* 120 */
+
		{ "Fk", PP_C, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_C, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_C, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_C, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_C, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_C, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_C, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_C, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_C, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_C, PP_UNKNOWN,                 0, 'L',  }, /* 130 */
+
		{ "Ln", PP_C, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_C, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_C, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_C, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_C, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_C, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_C, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_C, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_C, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_C, PP_PKG_COMMENT,             1, '\0', }, /* 140 */
+
		{ "d",  PP_C, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_C, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_C, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_C, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_C, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_C, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_C, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_C, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_C, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_C, PP_PKG_ORIGIN,              1, '\0', }, /* 150 */
+
		{ "p",  PP_C, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_C, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_C, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_C, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_C, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_C, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_C, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_C, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_C, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_C, PP_LITERAL_PERCENT,         1, '\0', }, /* 160 */
+
		{ "x",  PP_C, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_D, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_D, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_D, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_D, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_D, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_D, PP_PKG_DIRECTORY_GROUP,     2, '\0', },
+
		{ "Dk", PP_D, PP_PKG_DIRECTORY_KEEPFLAG,  2, '\0', },
+
		{ "Dn", PP_D, PP_PKG_DIRECTORY_PATH,      2, '\0', },
+
		{ "Dp", PP_D, PP_PKG_DIRECTORY_PERMS,     2, '\0', }, /* 170 */
+
		{ "Dt", PP_D, PP_PKG_DIRECTORY_TRYFLAG,   2, '\0', },
+
		{ "Du", PP_D, PP_PKG_DIRECTORY_USER,      2, '\0', },
+
		{ "F",  PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_D, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_D, PP_UNKNOWN,                 0, 'G',  }, /* 180 */
+
		{ "Gg", PP_D, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_D, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_D, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_D, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_D, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_D, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_D, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_D, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_D, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_D, PP_UNKNOWN,                 0, 'U',  }, /* 190 */
+
		{ "Un", PP_D, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_D, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_D, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_D, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_D, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_D, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_D, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_D, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_D, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_D, PP_PKG_LOCK_STATUS,         1, '\0', }, /* 200 */
+
		{ "l",  PP_D, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_D, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_D, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_D, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_D, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_D, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_D, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_D, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_D, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_D, PP_PKG_FLATSIZE,            1, '\0', }, /* 210 */
+
		{ "t",  PP_D, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_D, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_D, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_D, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_D, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_F, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_F, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_F, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_F, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_F, PP_UNKNOWN,                 0, 'D',  }, /* 220 */
+
		{ "Dg", PP_F, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_F, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_F, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_F, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_F, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_F, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_F, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_F, PP_PKG_FILE_GROUP,          2, '\0', },
+
		{ "Fk", PP_F, PP_PKG_FILE_KEEPFLAG,       2, '\0', },
+
		{ "Fn", PP_F, PP_PKG_FILE_PATH,           2, '\0', }, /* 230 */
+
		{ "Fp", PP_F, PP_PKG_FILE_PERMS,          2, '\0', },
+
		{ "Fs", PP_F, PP_PKG_FILE_SHA256,         2, '\0', },
+
		{ "Fu", PP_F, PP_PKG_FILE_USER,           2, '\0', },
+
		{ "G",  PP_F, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_F, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_F, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_F, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_F, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_F, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_F, PP_PKG_MESSAGE,             1, '\0', }, /* 240 */
+
		{ "O",  PP_F, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_F, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_F, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_F, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_F, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_F, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_F, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_F, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_F, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_F, PP_UNKNOWN,                 0, 'd',  }, /* 250 */
+
		{ "do", PP_F, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_F, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_F, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_F, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_F, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_F, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_F, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_F, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_F, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_F, PP_UNKNOWN,                 0, 'r',  }, /* 260 */
+
		{ "rn", PP_F, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_F, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_F, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_F, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_F, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_F, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_F, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_F, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_F, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_G, PP_UNKNOWN,                 0, 'B',  }, /* 270 */
+
		{ "Bn", PP_G, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_G, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_G, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_G, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_G, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_G, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_G, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_G, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_G, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_G, PP_UNKNOWN,                 0, 'D',  }, /* 280 */
+
		{ "F",  PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_G, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_G, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_G, PP_PKG_GROUP_GIDSTR,        2, '\0', },
+
		{ "Gn", PP_G, PP_PKG_GROUP_NAME,          2, '\0', }, /* 290 */
+
		{ "I",  PP_G, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_G, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_G, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_G, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_G, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_G, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_G, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_G, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_G, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_G, PP_UNKNOWN,                 0, 'U',  }, /* 300 */
+
		{ "a",  PP_G, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_G, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_G, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_G, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_G, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_G, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_G, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_G, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_G, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_G, PP_PKG_MAINTAINER,          1, '\0', }, /* 310 */
+
		{ "n",  PP_G, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_G, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_G, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_G, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_G, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_G, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_G, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_G, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_G, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_G, PP_PKG_VERSION,             1, '\0', }, /* 320 */
+
		{ "w",  PP_G, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_G, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_G, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_L, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_L, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_L, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_L, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_L, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_L, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_L, PP_UNKNOWN,                 0, 'D',  }, /* 330 */
+
		{ "Dn", PP_L, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_L, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_L, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_L, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_L, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_L, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_L, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_L, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_L, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_L, PP_UNKNOWN,                 0, 'F',  }, /* 340 */
+
		{ "Fu", PP_L, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_L, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_L, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_L, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_L, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_L, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_L, PP_PKG_LICENSE_NAME,        2, '\0', },
+
		{ "M",  PP_L, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_L, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_L, PP_UNKNOWN,                 0, 'O',  }, /* 350 */
+
		{ "Ov", PP_L, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_L, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_L, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_L, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_L, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_L, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_L, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_L, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_L, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_L, PP_UNKNOWN,                 0, 'd',  }, /* 360 */
+
		{ "i",  PP_L, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_L, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_L, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_L, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_L, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_L, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_L, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_L, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_L, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_L, PP_UNKNOWN,                 0, 'r',  }, /* 370 */
+
		{ "rv", PP_L, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_L, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_L, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_L, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_L, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_L, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_L, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_O, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_O, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_O, PP_UNKNOWN,                 0, 'C',  }, /* 380 */
+
		{ "Cn", PP_O, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_O, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_O, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_O, PP_UNKNOWN,                 0, 'F',  }, /* 390 */
+
		{ "Fk", PP_O, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_O, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_O, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_O, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_O, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_O, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_O, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_O, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_O, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_O, PP_UNKNOWN,                 0, 'L',  }, /* 400 */
+
		{ "Ln", PP_O, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_O, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_O, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_O, PP_PKG_OPTION_NAME,         2, '\0', },
+
		{ "Ov", PP_O, PP_PKG_OPTION_VALUE,        2, '\0', },
+
		{ "U",  PP_O, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_O, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_O, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_O, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_O, PP_PKG_COMMENT,             1, '\0', }, /* 410 */
+
		{ "d",  PP_O, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_O, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_O, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_O, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_O, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_O, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_O, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_O, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_O, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_O, PP_PKG_ORIGIN,              1, '\0', }, /* 420 */
+
		{ "p",  PP_O, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_O, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_O, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_O, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_O, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_O, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_O, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_O, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_O, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_O, PP_LITERAL_PERCENT,         1, '\0', }, /* 430 */
+
		{ "x",  PP_O, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_U, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_U, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_U, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_U, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_U, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_U, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_U, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_U, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_U, PP_UNKNOWN,                 0, 'D',  }, /* 440 */
+
		{ "Dt", PP_U, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_U, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_U, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_U, PP_UNKNOWN,                 0, 'G',  }, /* 450 */
+
		{ "Gg", PP_U, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_U, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_U, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_U, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_U, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_U, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_U, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_U, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_U, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_U, PP_UNKNOWN,                 0, 'U',  }, /* 460 */
+
		{ "Un", PP_U, PP_PKG_USER_NAME,           2, '\0', },
+
		{ "Uu", PP_U, PP_PKG_USER_UIDSTR,         2, '\0', },
+
		{ "a",  PP_U, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_U, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_U, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_U, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_U, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_U, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_U, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_U, PP_PKG_LOCK_STATUS,         1, '\0', }, /* 470 */
+
		{ "l",  PP_U, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_U, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_U, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_U, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_U, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_U, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_U, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_U, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_U, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_U, PP_PKG_FLATSIZE,            1, '\0', }, /* 480 */
+
		{ "t",  PP_U, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_U, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_U, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_U, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_U, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_d, PP_UNKNOWN,                 0, 'B',  },
+
		{ "Bn", PP_d, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_d, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_d, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_d, PP_UNKNOWN,                 0, 'D',  }, /* 490 */
+
		{ "Dg", PP_d, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_d, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_d, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_d, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_d, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_d, PP_UNKNOWN,                 0, 'D',  },
+
		{ "F",  PP_d, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_d, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_d, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_d, PP_UNKNOWN,                 0, 'F',  }, /* 500 */
+
		{ "Fp", PP_d, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_d, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_d, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_d, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_d, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_d, PP_UNKNOWN,                 0, 'G',  },
+
		{ "I",  PP_d, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_d, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_d, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_d, PP_PKG_MESSAGE,             1, '\0', }, /* 510 */
+
		{ "O",  PP_d, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_d, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_d, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_d, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_d, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_d, PP_UNKNOWN,                 0, 'U',  },
+
		{ "a",  PP_d, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_d, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_d, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_d, PP_PKG_DEPENDENCY_NAME,     2, '\0', }, /* 520 */
+
		{ "do", PP_d, PP_PKG_DEPENDENCY_ORIGIN,   2, '\0', },
+
		{ "dv", PP_d, PP_PKG_DEPENDENCY_VERSION,  2, '\0', },
+
		{ "i",  PP_d, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_d, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_d, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_d, PP_PKG_MAINTAINER,          1, '\0', },
+
		{ "n",  PP_d, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_d, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_d, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_d, PP_UNKNOWN,                 0, 'r',  }, /* 530 */
+
		{ "rn", PP_d, PP_UNKNOWN,                 0, 'r',  },
+
		{ "ro", PP_d, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rv", PP_d, PP_UNKNOWN,                 0, 'r',  },
+
		{ "s",  PP_d, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_d, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_d, PP_PKG_VERSION,             1, '\0', },
+
		{ "w",  PP_d, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_d, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_d, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ "B",  PP_r, PP_UNKNOWN,                 0, 'B',  }, /* 540 */
+
		{ "Bn", PP_r, PP_UNKNOWN,                 0, 'B',  },
+
		{ "C",  PP_r, PP_UNKNOWN,                 0, 'C',  },
+
		{ "Cn", PP_r, PP_UNKNOWN,                 0, 'C',  },
+
		{ "D",  PP_r, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dg", PP_r, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dk", PP_r, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dn", PP_r, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dp", PP_r, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Dt", PP_r, PP_UNKNOWN,                 0, 'D',  },
+
		{ "Du", PP_r, PP_UNKNOWN,                 0, 'D',  }, /* 550 */
+
		{ "F",  PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fg", PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fk", PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fn", PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fp", PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fs", PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "Fu", PP_r, PP_UNKNOWN,                 0, 'F',  },
+
		{ "G",  PP_r, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gg", PP_r, PP_UNKNOWN,                 0, 'G',  },
+
		{ "Gn", PP_r, PP_UNKNOWN,                 0, 'G',  }, /* 560 */
+
		{ "I",  PP_r, PP_ROW_COUNTER,             1, '\0', },
+
		{ "L",  PP_r, PP_UNKNOWN,                 0, 'L',  },
+
		{ "Ln", PP_r, PP_UNKNOWN,                 0, 'L',  },
+
		{ "M",  PP_r, PP_PKG_MESSAGE,             1, '\0', },
+
		{ "O",  PP_r, PP_UNKNOWN,                 0, 'O',  },
+
		{ "On", PP_r, PP_UNKNOWN,                 0, 'O',  },
+
		{ "Ov", PP_r, PP_UNKNOWN,                 0, 'O',  },
+
		{ "U",  PP_r, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Un", PP_r, PP_UNKNOWN,                 0, 'U',  },
+
		{ "Uu", PP_r, PP_UNKNOWN,                 0, 'U',  }, /* 570 */
+
		{ "a",  PP_r, PP_PKG_AUTOREMOVE,          1, '\0', },
+
		{ "c",  PP_r, PP_PKG_COMMENT,             1, '\0', },
+
		{ "d",  PP_r, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dn", PP_r, PP_UNKNOWN,                 0, 'd',  },
+
		{ "do", PP_r, PP_UNKNOWN,                 0, 'd',  },
+
		{ "dv", PP_r, PP_UNKNOWN,                 0, 'd',  },
+
		{ "i",  PP_r, PP_PKG_ADDITIONAL_INFO,     1, '\0', },
+
		{ "k",  PP_r, PP_PKG_LOCK_STATUS,         1, '\0', },
+
		{ "l",  PP_r, PP_PKG_LICENSE_LOGIC,       1, '\0', },
+
		{ "m",  PP_r, PP_PKG_MAINTAINER,          1, '\0', }, /* 580 */
+
		{ "n",  PP_r, PP_PKG_NAME,                1, '\0', },
+
		{ "o",  PP_r, PP_PKG_ORIGIN,              1, '\0', },
+
		{ "p",  PP_r, PP_PKG_PREFIX,              1, '\0', },
+
		{ "r",  PP_r, PP_UNKNOWN,                 0, 'r',  },
+
		{ "rn", PP_r, PP_PKG_REQUIREMENT_NAME,    2, '\0', },
+
		{ "ro", PP_r, PP_PKG_REQUIREMENT_ORIGIN,  2, '\0', },
+
		{ "rv", PP_r, PP_PKG_REQUIREMENT_VERSION, 2, '\0', },
+
		{ "s",  PP_r, PP_PKG_FLATSIZE,            1, '\0', },
+
		{ "t",  PP_r, PP_PKG_INSTALL_TIMESTAMP,   1, '\0', },
+
		{ "v",  PP_r, PP_PKG_VERSION,             1, '\0', }, /* 590 */
+
		{ "w",  PP_r, PP_PKG_HOME_PAGE,           1, '\0', },
+
		{ "%",  PP_r, PP_LITERAL_PERCENT,         1, '\0', },
+
		{ "x",  PP_r, PP_UNKNOWN,                 0, 'x',  },
+

+
		{ NULL, 0,    0,                          0, '\0', },
+
	};
+

+
	p = new_percent_esc(NULL);
+

+
	ATF_REQUIRE_EQ(p != NULL, true);
+

+
	for (i = 0; fc_test_vals[i].in != NULL; i++) {
+
		p->width = 0;
+
		f = format_code(fc_test_vals[i].in, fc_test_vals[i].context, p);
+

+
		ATF_CHECK_EQ_MSG(p->fmt_code, fc_test_vals[i].fmt_code,
+
				    "(test %d)", i);
+
		ATF_CHECK_EQ_MSG(f - fc_test_vals[i].in,
+
				 fc_test_vals[i].fend_offset,
+
				 "(test %d)", i);
+
		ATF_CHECK_EQ_MSG(*f, fc_test_vals[i].fend_val,
+
				 "(test %d)", i);
+
	}
+

+
	free_percent_esc(p);
+
}
+


ATF_TP_ADD_TCS(tp)
{
@@ -1350,6 +1998,7 @@ ATF_TP_ADD_TCS(tp)

	ATF_TP_ADD_TC(tp, field_modifier);
	ATF_TP_ADD_TC(tp, field_width);
+
	ATF_TP_ADD_TC(tp, format_code);

	return atf_no_error();
}