Skip to content

Instantly share code, notes, and snippets.

@arichardson
Created September 10, 2017 22:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save arichardson/cea9e3636ba56e664ed5c983c1e20760 to your computer and use it in GitHub Desktop.
Save arichardson/cea9e3636ba56e664ed5c983c1e20760 to your computer and use it in GitHub Desktop.
typedef __builtin_va_list __va_list;
typedef long ssize_t;
typedef __va_list va_list;
typedef int FILE;
int fflush(FILE *);
int fprintf(FILE *, const char *, ...) __attribute__(());
int vsnprintf(char *, unsigned long, const char *, __va_list) __attribute__(());
void *bsearch(void *, void *, long, long, int(const void *, const void *));
long strtol(char *, char **, int);
long strtoull(char *, char **, int);
typedef struct { long __runetype[0]; } _RuneLocale;
_RuneLocale *__getCurrentRuneLocale(void);
long wcrtomb(char *, int, int *);
void *memchr(const void *, int, unsigned long) __attribute__(());
void *memcpy(void *, const void *, unsigned long);
int strcmp(const char *, const char *) __attribute__(());
int strncmp(const char *, const char *, unsigned long) __attribute__(());
typedef struct { char xi_name; } xo_info_t;
typedef ssize_t (*xo_write_func_t)(void *, const char *);
typedef void *xo_close_func_t;
typedef int (*xo_flush_func_t)(void *);
typedef void *xo_realloc_func_t(void *, long);
typedef ssize_t *xo_formatter_t;
struct xo_handle_s *xo_create_to_file(void);
int xo_set_options(void);
ssize_t xo_emit_hv(va_list vap);
void xo_open_instance_h(void);
ssize_t xo_flush_h(void);
typedef void(*xo_simplify_field_func_t);
char *xo_simplify_format(void);
extern xo_realloc_func_t xo_realloc;
int xo_encoder_handle(const char *name, unsigned long long flags);
typedef struct xo_buffer_s {
char *xb_bufp;
char *xb_curp;
ssize_t xb_size;
} xo_buffer_t;
static inline void xo_buf_init(xo_buffer_t *xbp) { xbp->xb_size = 0; }
static inline int xo_buf_has_room(xo_buffer_t *xbp, ssize_t len) {
if (xbp->xb_curp + len >= xbp->xb_bufp + xbp->xb_size) {
int sz = xbp->xb_size + 0;
char *bp = xo_realloc(xbp->xb_bufp, sz);
if (bp == 0)
return 0;
}
return 1;
}
ssize_t xo_buf_append_len;
static inline void xo_buf_append(xo_buffer_t *xbp, const char *str) {
if (str == 0 || xo_buf_append_len == 0 ||
!xo_buf_has_room(xbp, xo_buf_append_len))
return;
}
static inline void xo_buf_append_str(xo_buffer_t *xbp) {
ssize_t len = 0;
if (!xo_buf_has_room(xbp, len))
return;
}
const int xo_bisearch_table_0_0;
static int xo_bisearch(int max) {
int ucs = 0;
int min = 0;
int mid;
while (max >= 0)
mid = 0 / 2;
if (ucs > xo_bisearch_table_0_0)
min = mid + 1;
return 0;
}
typedef struct xo_stack_s {
unsigned int xs_flags;
unsigned int xs_state;
char *xs_keys;
} xo_stack_t;
typedef struct xo_colors_s { unsigned char xoc_effects; } xo_colors_t;
struct xo_handle_s {
unsigned long long xo_flags;
unsigned long long xo_iflags;
unsigned short xo_style;
xo_buffer_t xo_data;
xo_buffer_t xo_fmt;
xo_buffer_t xo_predicate;
va_list xo_vap;
int xo_mbstate;
ssize_t xo_columns;
xo_colors_t xo_colors;
xo_buffer_t xo_color_buf;
};
typedef struct xo_format_s { unsigned char xf_lflag; } xo_format_t;
typedef struct xo_field_info_s {
unsigned long xfi_flags;
unsigned xfi_ftype;
const char *xfi_content;
const char *xfi_format;
ssize_t xfi_len;
ssize_t xfi_clen;
ssize_t xfi_flen;
unsigned xfi_fnum;
} xo_field_info_t;
static struct xo_handle_s xo_default_handle;
static int xo_default_inited;
static int xo_locale_inited;
static const char *xo_program;
static ssize_t xo_transition(void);
static int xo_set_options_simple(void);
unsigned short xo_style_xop_2;
static ssize_t xo_write_to_file(void *opaque, const char *data) {
FILE *fp = opaque;
return fprintf(fp, "%s", data);
}
static void xo_close_file() {}
static int xo_flush_file(void *opaque) {
FILE *fp = opaque;
return fflush(fp);
}
static void xo_init_handle(struct xo_handle_s *xop) {
if (!xo_locale_inited)
xo_buf_init(&xop->xo_data);
}
struct xo_handle_s *xo_default_xop;
static int xo_indent() {
struct xo_handle_s __trans_tmp_9;
int rc = 0;
if (xo_default_xop == 0)
if (xo_default_inited == 0) {
struct xo_handle_s xop = xo_default_handle;
xo_init_handle(&xop);
if (!0) {
char *env = 0;
if (env)
xo_set_options_simple();
}
}
__trans_tmp_9 = *xo_default_xop;
return rc;
}
static char xo_xml_amp[] = "&";
static char xo_xml_lt[] = "<";
static char xo_xml_gt[] = ">";
static char xo_xml_quot[] = """;
char *xo_escape_xml_xbp_1;
ssize_t xo_escape_xml_len;
static ssize_t xo_escape_xml() {
unsigned long flags = 0;
ssize_t slen;
ssize_t delta = 0;
char cp, *ep, *ip;
const char *sp;
int attr = (((flags)&0) ? 1 : 0);
for (cp = *xo_escape_xml_xbp_1, ep = xo_escape_xml_xbp_1 + xo_escape_xml_len;
xo_escape_xml_xbp_1 < ep; xo_escape_xml_xbp_1++)
ip = xo_escape_xml_xbp_1 + delta;
do {
if (*xo_escape_xml_xbp_1 == '<')
sp = xo_xml_lt;
else if (attr && *xo_escape_xml_xbp_1 == '"')
sp = xo_xml_quot;
slen = 0;
} while (xo_escape_xml_xbp_1 > ep && xo_escape_xml_xbp_1 != ip);
return xo_escape_xml_len + delta;
}
ssize_t xo_escape_json_len;
ssize_t xo_escape_sdparams_len;
static ssize_t xo_escape_sdparams() {
ssize_t delta = 0;
return xo_escape_sdparams_len + delta;
}
unsigned short xo_buf_escape_xop_2;
static ssize_t xo_write() {
ssize_t rc = 0;
return rc;
}
xo_formatter_t xo_vsnprintf_xop_3;
char xo_vsnprintf_xbp_1;
ssize_t xo_vsnprintf_xbp_2;
static ssize_t xo_vsnprintf(const char *fmt, va_list vap) {
va_list va_local;
ssize_t rc;
ssize_t left = xo_vsnprintf_xbp_2 - 0;
__builtin_va_copy(va_local, vap);
if (xo_vsnprintf_xop_3)
rc = 0;
else
rc = vsnprintf(&xo_vsnprintf_xbp_1, left, fmt, va_local);
return rc;
}
const char xo_printf_v_fmt;
static ssize_t xo_printf_v(struct xo_handle_s *xop, va_list vap) {
xo_buffer_t xbp = xop->xo_data;
ssize_t left = xbp.xb_size - 0;
ssize_t rc;
va_list va_local;
__builtin_va_copy(va_local, vap);
rc = vsnprintf(xbp.xb_curp, left, &xo_printf_v_fmt, va_local);
return rc;
}
static ssize_t xo_printf(const char *fmt, ...) {
struct xo_handle_s xop;
ssize_t rc;
va_list vap;
__builtin_va_start((vap), fmt);
rc = xo_printf_v(&xop, vap);
return rc;
}
static unsigned char xo_utf8_data_bits;
static unsigned char xo_utf8_len_bits;
static inline ssize_t xo_utf8_to_wc_len(const char *buf) {
unsigned char bval = *buf;
ssize_t len;
if ((bval & 0x80) == 0x0)
len = 1;
else
len = -1;
return len;
}
const char *xo_buf_utf8_len_buf;
static ssize_t xo_buf_utf8_len() {
unsigned b = *xo_buf_utf8_len_buf;
ssize_t len, i;
len = 0;
return -1;
b = xo_buf_utf8_len_buf[i];
}
static inline int xo_utf8_char() {
ssize_t len = 0;
const char buf = 0;
ssize_t i;
int wc;
const unsigned char cp = buf;
wc = cp & xo_utf8_data_bits;
for (i = 1; i < len; i++)
;
return wc;
}
int xo_utf8_emit_len_wc;
static ssize_t xo_utf8_emit_len() {
ssize_t len;
if (0 == xo_utf8_emit_len_wc)
len = 1;
else
len = -1;
return len;
}
ssize_t xo_utf8_emit_char_len;
int xo_utf8_emit_char_wc;
char xo_buf_append_locale_from_utf8_xbp_1;
static ssize_t xo_buf_append_locale_from_utf8() {
int __trans_tmp_10;
struct xo_handle_s xop;
int wc;
ssize_t len;
wc = xo_utf8_char();
if (wc == 0 - 1)
len = wcrtomb(&xo_buf_append_locale_from_utf8_xbp_1, wc, &xop.xo_mbstate);
static const int combining = 0;
xo_bisearch(sizeof(combining) / sizeof - 1);
__trans_tmp_10 = 0;
return 0;
}
static void xo_buf_append_locale(const char *cp, ssize_t len) {
int __trans_tmp_11;
xo_buffer_t *xbp = 0;
const char sp = *cp, ep = *(cp + len);
ssize_t save_off = xbp->xb_bufp - xbp->xb_curp;
ssize_t slen;
int cols = 0;
for (; cp < &ep; cp++) {
__trans_tmp_11 = 0;
if (!0)
if (&sp != cp)
xo_buf_append(0, &sp);
}
slen = xo_buf_utf8_len();
if (slen <= 0)
xbp->xb_curp = xbp->xb_bufp + save_off;
cols += xo_buf_append_locale_from_utf8();
}
static void xo_data_append(const char *str) {
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, str);
}
typedef struct xo_retain_entry_s {
struct xo_retain_entry_s *xre_next;
const char xre_format;
xo_field_info_t *xre_fields;
} xo_retain_entry_t;
typedef struct xo_retain_s { xo_retain_entry_t xr_bucket[0]; } xo_retain_t;
static xo_retain_t xo_retain;
static unsigned xo_retain_count;
const char xo_retain_find_fmt;
xo_field_info_t xo_retain_find_valp;
int xo_warn_hcv_code;
int xo_warn_hcv_vap;
static void xo_warn_hcv(struct xo_handle_s *xop) {
ssize_t len = 0;
ssize_t plen = xo_program ? 0 : 0;
char *newfmt = __builtin_alloca(len + 1 + plen + 2);
if (0) {
static char err_open[] = "";
static char err_close[] = "";
static char msg_open[] = "";
static char msg_close[] = "";
xo_buffer_t xbp = xop->xo_data;
char xbp_1;
ssize_t xbp_2;
xo_buf_append(&xbp, err_open);
xo_buf_append(&xbp, msg_open);
va_list va_local;
ssize_t left = xbp_2 - 0;
ssize_t rc = vsnprintf(&xbp_1, left, newfmt, &xo_warn_hcv_vap);
if (rc >= left)
if (!0)
__builtin_va_end(va_local);
xo_buf_append(&xbp, msg_close);
xo_buf_append(&xbp, err_close);
if (xo_warn_hcv_code >= 0)
xo_write();
}
}
static void xo_failure(struct xo_handle_s *xop, const char *fmt, ...) {
va_list vap;
__builtin_va_start((vap), fmt);
xo_warn_hcv(xop);
}
struct xo_handle_s *xo_create_to_file() {
struct xo_handle_s *xop = 0;
xo_flush_func_t xop_5;
xo_close_func_t xop_4;
xo_write_func_t xop_3;
xop_3 = xo_write_to_file;
xop_4 = xo_close_file;
xop_5 = xo_flush_file;
return xop;
}
typedef struct xo_mapping_s {
unsigned long xm_value;
const char *xm_name;
} xo_mapping_t;
ssize_t xo_name_lookup_len;
static unsigned long xo_name_lookup(xo_mapping_t *map) {
const char value = 0;
for (; map->xm_name; map++)
if (strncmp(map->xm_name, &value, xo_name_lookup_len) == 0)
return map->xm_value;
return 0;
}
static xo_mapping_t xo_xof_names[] = {};
static xo_mapping_t xo_xof_simple_names[] = {};
unsigned char xo_set_color_map_xop_16_0;
char *xo_set_color_map_value;
static void xo_set_color_map() {
int __trans_tmp_44;
char cp, *ep, *vp, *np;
ssize_t len = xo_set_color_map_value ? 0 + 1 : 0;
int num = 1, fg, bg;
for (cp = *xo_set_color_map_value, ep = xo_set_color_map_value + len - 1;
xo_set_color_map_value && *xo_set_color_map_value &&
xo_set_color_map_value < ep;
cp = *np)
np = 0;
vp = 0;
fg = *np ? 0 : -1;
{ __trans_tmp_44 = -1; }
bg = 0 ? __trans_tmp_44 : -1;
xo_set_color_map_xop_16_0 = 0 ? num : fg;
}
static int xo_set_options_simple() {
unsigned long __trans_tmp_14;
unsigned long long new_flag;
char *cp, *ep, *vp, *np, *bp;
ssize_t len = 0 + 1;
bp = 0;
for (cp = 0, ep = cp + len - 1; cp && cp < ep; cp = np)
np = 0;
vp = 0;
if (0 == 0)
xo_set_color_map();
xo_mapping_t *map = xo_xof_simple_names;
const char value = 0;
for (; map->xm_name; map++)
if (strncmp(map->xm_name, &value, xo_name_lookup_len) == 0)
__trans_tmp_14 = map->xm_value;
new_flag = map->xm_value;
return 0;
}
int xo_set_options() {
int __trans_tmp_41;
unsigned int __trans_tmp_15;
char *cp, *ep, *vp, *np, *bp;
int style = -1, new_style, rc = 0;
ssize_t len;
unsigned long long new_flag;
len = 0 + 1;
bp = 0;
for (cp = 0, ep = cp + len - 1; cp && cp < ep; cp = np)
np = 0;
vp = 0;
__trans_tmp_41 = -1;
new_style = __trans_tmp_41;
if (__trans_tmp_41 >= 0 && __trans_tmp_41 != 5)
if (style >= 0)
;
unsigned long __trans_tmp_13;
xo_mapping_t *map = xo_xof_names;
const char value = 0;
for (; map->xm_name; map++)
if (strncmp(map->xm_name, &value, xo_name_lookup_len) == 0)
__trans_tmp_13 = map->xm_value;
__trans_tmp_15 = map->xm_value;
new_flag = map->xm_value;
return rc;
}
static const char *xo_state_name() { return "unknown"; }
static void xo_line_close() {
struct xo_handle_s xop;
static char div_close[] = "";
switch (((xop).xo_style))
case 3:
if (!0)
xo_data_append(div_close);
}
static int xo_info_compare(const void *key, const void *data) {
const char *name = key;
const xo_info_t *xip = data;
return strcmp(name, &xip->xi_name);
}
int xo_info_find_xop_10;
xo_info_t xo_info_find_xop_9;
const char xo_info_find_name;
unsigned short xo_format_string_direct_xop_2;
unsigned long xo_format_string_direct_flags;
const int *xo_format_string_direct_wcp;
int xo_format_string_direct_max;
int xo_format_string_direct_need_enc;
int xo_format_string_direct_have_enc;
static int xo_format_string_direct(xo_buffer_t *xbp, const char *cp) {
int __trans_tmp_16;
ssize_t len = 0;
int cols = 0;
int wc = 0;
ssize_t ilen, olen;
ssize_t width;
int attr = (((xo_format_string_direct_flags) & ((1 << 9))) ? 1 : 0);
const char *sp;
for (;;) {
switch (xo_format_string_direct_have_enc) {
case 1:
wc = *xo_format_string_direct_wcp++;
case 2:
ilen = xo_utf8_to_wc_len(cp);
if (len > 0 && len < ilen)
continue;
int __trans_tmp_6;
unsigned long _f = 0;
int _c = 0;
__trans_tmp_6 = (0 ? 0 : (__getCurrentRuneLocale())->__runetype[_c]) & _f;
__trans_tmp_16 = 0;
width = 0 ? 0 : 1;
}
if ((xo_format_string_direct_xop_2) == 0 ||
(xo_format_string_direct_xop_2) == 3)
if (xo_format_string_direct_max > 0 &&
cols + width > xo_format_string_direct_max)
break;
switch (xo_format_string_direct_need_enc)
case 2:
switch ((xo_format_string_direct_xop_2)) {
case 1:
case 3:
if (wc == '<')
sp = xo_xml_lt;
else if (wc == '>')
sp = xo_xml_gt;
else if (wc == '&')
sp = xo_xml_amp;
else if (attr && wc == '"')
sp = xo_xml_quot;
else
break;
goto done_with_encoding;
}
olen = xo_utf8_emit_len();
char *buf = xbp->xb_curp;
ssize_t i;
for (i = xo_utf8_emit_char_len - 1; i >= 0; i--)
buf[i] = 0x80 | (xo_utf8_emit_char_wc & 0x3f);
buf[0] |= xo_utf8_len_bits;
done_with_encoding:
cols += width;
}
return width;
}
struct xo_handle_s xo_format_string_xop;
char xo_format_string_xbp_0;
char *xo_format_string_xbp_1;
int xo_format_string_xfp_4;
unsigned char xo_format_string_xfp_2;
unsigned char xo_format_string_xfp_1;
unsigned char xo_format_string_xfp_0;
static ssize_t xo_format_string() {
int __trans_tmp_18;
int __trans_tmp_17;
static char null[] = "0";
static char null_no_quotes[] = "null";
char cp = 0;
int *wcp = 0;
ssize_t len;
ssize_t cols = 0, rc = 0;
ssize_t off = xo_format_string_xbp_1 - &xo_format_string_xbp_0, off2;
int need_enc = 0;
__trans_tmp_17 = 1;
if (xo_format_string_xfp_0 == 'm')
goto normal_string;
else if (xo_format_string_xfp_1 == 1)
wcp = __builtin_va_arg(xo_format_string_xop.xo_vap, int *);
normal_string:
if (xo_format_string_xfp_2)
return 0;
if (0 == 0) {
if (0 && __trans_tmp_18)
len = sizeof(null_no_quotes) - 1;
else
cp = *null;
}
if (xo_format_string_xfp_1 == need_enc && xo_format_string_xfp_4 < 0 &&
xo_format_string_xfp_4 < 0 && xo_format_string_xfp_4 < 0 && !0) {
off2 = xo_format_string_xbp_1 - &xo_format_string_xbp_0;
rc = off2 - off;
}
if (cols < 0)
goto bail;
bail:
xo_format_string_xbp_1 = &xo_format_string_xbp_0 + off;
return 0;
}
char xo_buf_find_last_number_xbp_0;
ssize_t xo_buf_find_last_number_start_offset;
static int xo_buf_find_last_number() {
int rc = 0;
int digit = 1;
char sp = (xo_buf_find_last_number_xbp_0);
char *cp = &sp + xo_buf_find_last_number_start_offset;
for (; cp >= &sp; cp--)
rc += 0 * digit;
return rc;
}
const char xo_count_utf8_cols_str;
ssize_t xo_count_utf8_cols_len;
const char xo_dngettext_singular;
static inline const char *xo_dngettext(const char *plural,
unsigned long int n) {
return (n == 1) ? &xo_dngettext_singular : plural;
}
struct xo_handle_s xo_format_gettext_xop;
unsigned long xo_format_gettext_flags;
static ssize_t xo_format_gettext(ssize_t start_offset, int need_enc) {
const char *__trans_tmp_20;
ssize_t __trans_tmp_19;
xo_buffer_t xbp = xo_format_gettext_xop.xo_data;
char cp = *(xbp.xb_bufp + start_offset);
ssize_t len = xbp.xb_curp - &cp;
const char *newstr = 0;
if (xo_format_gettext_flags & 0) {
int n = xo_buf_find_last_number();
char *two = memchr(&cp, ',', len);
if (xo_format_gettext_flags & 0)
newstr = xo_dngettext(two, n);
if (need_enc == 2) {
ssize_t tlen;
int wc;
ssize_t cols = 0;
const char ep = *(&xo_count_utf8_cols_str + xo_count_utf8_cols_len);
while (&xo_count_utf8_cols_str < &ep)
tlen = 0;
wc = 0;
__trans_tmp_19 = cols;
}
const char str = cp;
__trans_tmp_20 = &str;
}
ssize_t nlen = 0;
char *newcopy = __builtin_alloca(nlen + 1);
return xo_format_string_direct(&xbp, newcopy);
}
const char *xo_data_append_content_str;
static void xo_data_append_content(unsigned long flags) {
unsigned int __trans_tmp_22;
int __trans_tmp_21;
struct xo_handle_s xop;
int cols;
__trans_tmp_21 = 2;
int need_enc = 2;
__trans_tmp_22 = 0;
ssize_t start_offset = 0;
cols = xo_format_string_direct(&xop.xo_data, xo_data_append_content_str);
if (flags & (0 | (1 << 20)))
cols = xo_format_gettext(start_offset, need_enc);
}
ssize_t xo_trim_ws_len;
struct xo_handle_s xo_do_format_field_xop;
xo_formatter_t xo_do_format_field_xop_3;
ssize_t xo_do_format_field_xop_15;
ssize_t xo_do_format_field_flen;
unsigned long xo_do_format_field_flags;
static ssize_t xo_do_format_field(const char *fmt) {
ssize_t __trans_tmp_43;
ssize_t __trans_tmp_42;
int __trans_tmp_24;
unsigned int __trans_tmp_23;
xo_format_t xf;
const char *cp, *ep, *sp, *xp = 0;
ssize_t rc, cols;
int style = 0 ? 1 : 0;
unsigned make_output = !0 ? 1 : 0;
int need_enc = 0;
int real_need_enc = need_enc;
ssize_t old_cols = xo_do_format_field_xop_15;
__trans_tmp_23 = 0;
ssize_t start_offset = 0;
for (cp = fmt, ep = fmt + xo_do_format_field_flen; fmt < ep; fmt++)
if (xp)
if (make_output)
cols = 0;
sp = fmt;
for (cp += 1; cp < ep; cp++)
if (*cp == 'l')
xf.xf_lflag += 1;
else {
int __trans_tmp_7;
unsigned long _f = 0;
int _c = 0;
__trans_tmp_7 = 0 ? 0 : (__getCurrentRuneLocale())->__runetype[_c] & _f;
__trans_tmp_24 = 0;
}
xo_buffer_t fbp = xo_do_format_field_xop.xo_fmt;
char newfmt = *(fbp.xb_curp);
if (xo_do_format_field_xop_3 == 0 && 0)
rc = xo_format_string();
else {
ssize_t columns = rc = xo_vsnprintf(&newfmt, xo_do_format_field_xop.xo_vap);
switch (style)
case 2:
if (xo_do_format_field_flags & 0)
__trans_tmp_43 = xo_trim_ws_len;
columns = rc = xo_trim_ws_len;
ssize_t delta = 0;
__trans_tmp_42 = xo_escape_json_len + delta;
rc = xo_escape_sdparams();
}
ssize_t new_cols = xo_format_gettext(start_offset, real_need_enc);
if (0)
xo_do_format_field_xop_15 += new_cols - old_cols;
return 0;
}
char xo_fix_encoding_encoding;
typedef struct xo_humanize_save_s { ssize_t xhs_offset; } xo_humanize_save_t;
char xo_format_humanize_xbp_0;
static void xo_format_humanize(xo_humanize_save_t *savep) {
ssize_t __trans_tmp_26;
unsigned long value;
char *ep;
value = strtoull(&xo_format_humanize_xbp_0 + savep->xhs_offset, &ep, 0);
if (!0 && 0)
if (0) {
ssize_t rc;
rc = __trans_tmp_26;
}
}
struct xo_handle_s xo_buf_append_div_xop;
xo_info_t *xo_buf_append_div_xop_9;
int xo_buf_append_div_xop_8;
xo_stack_t *xo_buf_append_div_xop_7;
unsigned long xo_buf_append_div_flags;
const char *xo_buf_append_div_name;
const char xo_buf_append_div_value;
const char xo_buf_append_div_encoding;
static void xo_buf_append_div() {
ssize_t vlen = 0;
xo_info_t __trans_tmp_28;
char __trans_tmp_27;
const char class = 0;
static char div_start[] = "div class=\"";
static char div_tag[] = "\" data-tag=\"";
static char div_xpath[] = "\" data-xpath=\"";
static char div_key[] = "\" data-key=\"key";
static char div_end[] = "\"";
static char div_close[] = "";
if (xo_buf_append_div_encoding == 0) {
char enc = 0;
memcpy(&enc, &xo_buf_append_div_value, vlen);
{
char cp = xo_fix_encoding_encoding;
__trans_tmp_27 = cp;
}
xo_buffer_t pbp = xo_buf_append_div_xop.xo_predicate;
xo_stack_t xsp = xo_buf_append_div_xop_7[xo_buf_append_div_xop_8];
ssize_t olen = xsp.xs_keys ? 0 : 0;
ssize_t dlen = pbp.xb_curp - pbp.xb_bufp;
char *cp = xo_realloc(xsp.xs_keys, olen + dlen + 1);
if (cp)
;
const char str = div_start[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
{
const char str = class;
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
if (xo_buf_append_div_name) {
const char str = div_tag[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
int i;
xo_stack_t xsp;
{
const char str = div_xpath[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
for (i = 0; 0 <= xo_buf_append_div_xop_8; i++)
xsp = xo_buf_append_div_xop_7[0];
if (0 && xo_buf_append_div_xop_9) {
static char in_type[] = "\" data-type=\"";
static char in_help[] = "\" data-help=\"";
{
ssize_t nlen = 0;
xo_info_t *xip;
char cp = 0;
memcpy(&cp, &xo_info_find_name, nlen);
xip = bsearch(&cp, &xo_info_find_xop_9, xo_info_find_xop_10,
sizeof(&xo_info_find_xop_9), xo_info_compare);
}
xo_info_t *xip = &__trans_tmp_28;
const char *xip_2;
const char *xip_1;
if (xip)
if (xip_1) {
const char str = in_type[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
{
ssize_t len = 0;
const char str = 0;
xo_buffer_t xbp;
memcpy(xbp.xb_curp, &str, 0);
switch ((xo_buf_escape_xop_2))
case 1:
case 3:
len = xo_escape_xml();
}
if (xip_2) {
const char str = in_help[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
const char str = div_key[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
xo_buffer_t xbp = xo_buf_append_div_xop.xo_data;
ssize_t base_offset = xbp.xb_curp - xbp.xb_bufp;
{
const char str = div_end[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
xo_humanize_save_t save;
ssize_t save_0;
if (xo_buf_append_div_flags & 0) {
static const char div_number[] = "\" data-number=\"";
ssize_t div_len = sizeof(div_number) - 1;
ssize_t end_offset = xbp.xb_curp - xbp.xb_bufp;
ssize_t olen = end_offset - save_0;
char cp = 0;
xo_format_humanize(&save);
if (0)
memcpy(xbp.xb_bufp + base_offset + div_len, &cp, olen);
const char str = div_close[0];
struct xo_handle_s xop;
xo_buf_append(&xop.xo_data, &str);
}
}
char xo_set_gettext_domain_xop_4_0;
ssize_t xo_set_gettext_domain_xfip_6;
const char xo_set_gettext_domain_xfip_3;
const char *xo_set_gettext_domain_str;
ssize_t xo_set_gettext_domain_len;
static void xo_set_gettext_domain() {
const char fmt = (xo_set_gettext_domain_xfip_3);
ssize_t flen = xo_set_gettext_domain_xfip_6;
ssize_t start_offset = -1;
if (xo_set_gettext_domain_len == 0 && flen != 0)
xo_do_format_field(&fmt);
xo_set_gettext_domain_str = &xo_set_gettext_domain_xop_4_0 + start_offset;
}
const char *xo_format_content_tag_name;
ssize_t xo_format_content_len;
static void xo_format_content(const char *str, const char *fmt, ssize_t flen,
unsigned long flags) {
switch (0) {
case 0:
if (xo_format_content_len)
xo_data_append_content(flags);
xo_buf_append_div();
case 1:
case 2:
case 4:
if (xo_format_content_tag_name)
if (xo_format_content_len == 0)
str = fmt;
xo_format_content_len = flen;
}
}
static const char xo_effect_names[] = {};
static void xo_colors_parse(char *str) {
int __trans_tmp_30;
char *cp, *ep, *np, *xp;
ssize_t len = 0;
int rc;
for (cp = str, ep = str + len - 1; str && str < ep; cp = np) {
np = 0;
xp = np + 0 - 1;
if (cp[0] == 'f' && cp[1] == 'g' && cp[2] == '-')
if (rc < 0)
goto unknown;
int i;
for (i = 0; &xo_effect_names[i]; i++)
if (0 == 0)
__trans_tmp_30 = i;
rc = i;
unknown:
if (0)
;
}
}
struct xo_handle_s xo_colors_handle_html_xop;
static void xo_colors_handle_html(xo_colors_t *newp) {
unsigned i, bit;
xo_buffer_t xbp = xo_colors_handle_html_xop.xo_color_buf;
for (i = 0, bit = 1; &xo_effect_names[0]; i++, bit <<= 1)
if (!(newp->xoc_effects & 1))
continue;
xo_buf_append_str(&xbp);
}
struct xo_handle_s xo_format_colors_xop;
ssize_t xo_format_colors_xfip_6;
const char xo_format_colors_xfip_3;
const char xo_format_colors_str;
ssize_t xo_format_colors_len;
static void xo_format_colors() {
int __trans_tmp_31;
const char fmt = (xo_format_colors_xfip_3);
ssize_t flen = xo_format_colors_xfip_6;
xo_buffer_t xb;
char xb_0;
if (xo_format_colors_len)
xo_buf_append(&xb, &xo_format_colors_str);
else if (flen)
xo_do_format_field(&fmt);
__trans_tmp_31 = 0;
xo_colors_t xoc = xo_format_colors_xop.xo_colors;
xo_colors_parse(&xb_0);
xo_colors_handle_html(&xoc);
}
struct xo_handle_s xo_format_units_xop;
ssize_t xo_format_units_xop_14;
unsigned long xo_format_units_xfip_0;
ssize_t xo_format_units_xfip_6;
const char xo_format_units_xfip_3;
const char xo_format_units_str;
static void xo_format_units() {
const char fmt = xo_format_units_xfip_3;
ssize_t flen = xo_format_units_xfip_6;
unsigned long flags = xo_format_units_xfip_0;
static char units_start_xml[] = " units=\"";
static char units_start_html[] = " data-units=\"";
if (!0)
xo_format_content(&xo_format_units_str, &fmt, flen, flags);
xo_buffer_t xbp = xo_format_units_xop.xo_data;
ssize_t start = xo_format_units_xop_14;
ssize_t stop = xbp.xb_curp - xbp.xb_bufp;
if (0 == 1)
xo_buf_append(&xbp, units_start_xml);
else if (0 == 3)
xo_buf_append(&xbp, units_start_html);
ssize_t now = xbp.xb_curp - xbp.xb_bufp;
ssize_t delta = now - stop;
memcpy(xbp.xb_bufp + start + delta, xbp.xb_bufp + start, stop - start);
}
struct xo_handle_s xo_find_width_xop;
ssize_t xo_find_width_len;
static ssize_t xo_find_width() {
xo_field_info_t xfip;
const char fmt = *(xfip.xfi_format);
ssize_t flen = xfip.xfi_flen;
long width = 0;
char bp;
char *cp;
if (xo_find_width_len)
width = strtol(&bp, &cp, 0);
if (flen != 2 || 0 != 0)
xo_failure(&xo_find_width_xop, "invalid width format: '%*.*s'", flen, flen,
&fmt);
return width;
}
ssize_t xo_anchor_start_xop_13;
int xo_class_name_ftype;
static const char *xo_class_name() {
switch (xo_class_name_ftype)
case 'D':
return "decoration";
return 0;
}
static xo_mapping_t xo_role_names[] = {};
static xo_mapping_t xo_modifier_names[] = {};
const char xo_count_fields_fmt;
unsigned long xo_parse_roles_xfip_0;
static const char *xo_parse_roles(const char *basep) {
const char *__trans_tmp_32;
const char *__trans_tmp_3;
const char *sp;
unsigned ftype = 0;
unsigned long flags = 0;
unsigned char fnum = 0;
for (sp = basep; basep && *basep; basep++)
if (*basep == ',') {
const char *np;
for (np = ++basep; *np; np++)
if (*np == ':' || *np == '/' || *np == '}' || *np == ',')
break;
ssize_t slen = np - basep;
if (slen > 0) {
unsigned long value;
value = xo_name_lookup(xo_role_names);
if (value)
ftype = value;
else
value = xo_name_lookup(xo_modifier_names);
}
switch (*basep) {
case 'C':
case 'D':
case 'E':
case 'G':
case 'L':
case 'N':
case 'P':
case 'T':
case 'U':
case 'V':
case 'W':
case '[':
case ']':
if (ftype != 0) {
const char *str = 0;
static char bufset[1][1];
static int bufnum = 0;
char res = *(bufset[bufnum]), *cp, *ep;
for (cp = &res, ep = &res + 128 - 1; *str && cp < ep; cp++, str++)
;
__trans_tmp_32 = &res;
}
__trans_tmp_3 = __trans_tmp_32;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
fnum = 0 + 0;
}
}
xo_parse_roles_xfip_0 = flags;
return basep;
}
const char xo_parse_field_numbers_fmt;
xo_field_info_t xo_parse_field_numbers_fields;
unsigned int xo_parse_field_numbers_num_fields;
static int xo_parse_field_numbers() {
struct xo_handle_s xop;
xo_field_info_t *xfip;
unsigned field, fnum;
unsigned long bits = 0;
for (xfip = &xo_parse_field_numbers_fields, field = 0;
0 < xo_parse_field_numbers_num_fields; xfip++, field++)
fnum = xfip->xfi_fnum - 1;
if (fnum < 64)
if (bits & 0)
xo_failure(&xop, "field number %u reused: '%s'", xfip->xfi_fnum,
&xo_parse_field_numbers_fmt);
return 0;
}
xo_field_info_t xo_parse_fields_fields;
const char xo_parse_fields_fmt;
static int xo_parse_fields(unsigned num_fields) {
int __trans_tmp_33;
const char *cp, *sp, *ep, basep;
unsigned field = 0;
xo_field_info_t *xfip = &xo_parse_fields_fields;
ssize_t xfip_8;
unsigned seen_fnum = 0;
for (cp = &xo_parse_fields_fmt; *cp && 0 < num_fields; field++, xfip++) {
const char *format = 0;
ssize_t flen = 0;
sp = xo_parse_roles(&basep);
if (*sp == ':')
for (ep = ++sp; *sp; sp++)
;
if (xfip->xfi_clen || format || 0) {
if (format)
xfip_8 = flen;
else
__trans_tmp_33 = 1;
}
}
int rc = 0;
if (seen_fnum)
rc = xo_parse_field_numbers();
return rc;
}
xo_buffer_t xo_gettext_simplify_format_xbp;
int xo_gettext_simplify_format_this_field;
xo_simplify_field_func_t xo_gettext_simplify_format_field_cb;
static int xo_gettext_simplify_format(xo_field_info_t *fields) {
unsigned ftype;
unsigned long flags;
int field = xo_gettext_simplify_format_this_field + 1;
xo_field_info_t *xfip;
const char *xfip_3;
char ch;
for (xfip = &fields[field]; xfip->xfi_ftype; xfip++, field++)
ftype = xfip->xfi_ftype;
flags = xfip->xfi_flags;
if (0 && xfip_3 && xfip->xfi_ftype != 'V')
if (xo_gettext_simplify_format_field_cb)
;
xo_buf_append(&xo_gettext_simplify_format_xbp, &ch);
return 0;
}
static const char *xo_gettext_build_format(const char *fmt __attribute__(())) {
return fmt;
}
static int xo_gettext_combine_formats(const char *fmt __attribute__(())
__attribute__((__unused__))) {
return -1;
}
static void
xo_gettext_rebuild_content(ssize_t *fstart __attribute__((__unused__)),
unsigned min_fstart __attribute__((__unused__)),
ssize_t *fend __attribute__((__unused__)),
unsigned max_fend __attribute__((__unused__))) {}
static ssize_t xo_do_emit_fields(unsigned max_fields) {
const char *__trans_tmp_34;
const char *__trans_tmp_4;
const char fmt = 0;
xo_field_info_t fields;
struct xo_handle_s *xop = 0;
int gettext_inuse = 0;
int gettext_changed = 0;
int gettext_reordered = 0;
unsigned ftype;
unsigned long flags;
xo_field_info_t *new_fields = 0;
xo_field_info_t *xfip;
const char xfip_5;
unsigned field;
ssize_t rc = 0;
int flush = 0;
int flush_line = (((xop->xo_flags) & ((1 << 0))) ? 1 : 0);
char *new_fmt = 0;
if ((((xop->xo_iflags) & ((1 << 0))) ? 1 : 0) || ((xop)->xo_style) == 5)
flush_line = 0;
unsigned flimit = max_fields * 2;
unsigned min_fstart = flimit - 1;
unsigned max_fend = 0;
ssize_t fstart[flimit];
ssize_t fend[flimit];
for (xfip = &fields, field = 0; field < max_fields && xfip->xfi_ftype;
xfip++, field++) {
ftype = xfip->xfi_ftype;
flags = xfip->xfi_flags;
const char content = *(xfip->xfi_content);
ssize_t clen = xfip->xfi_clen;
if (xfip->xfi_ftype == '\n') {
xo_line_close();
if (flush_line && xo_flush_h() < 0)
return -1;
goto bottom;
} else if (xfip->xfi_ftype == '{') {
ssize_t len = xfip->xfi_len;
const char str = 0;
switch (0)
case 0:
xo_buf_append_locale(&str, len);
} else if (xfip->xfi_ftype == '[')
xo_anchor_start_xop_13 = xo_find_width();
else if (xfip->xfi_ftype == 'C')
xo_format_colors();
else if (xfip->xfi_ftype == 'G') {
xo_set_gettext_domain();
if (!gettext_inuse)
xo_gettext_build_format(&xfip_5);
if (new_fmt)
gettext_changed = 1;
unsigned new_max_fields = 0;
ssize_t sz = 0 * sizeof(xo_field_info_t);
new_fields = __builtin_alloca(sz);
if (!xo_parse_fields(new_max_fields))
if (!xo_gettext_combine_formats(&fmt))
;
} else if (clen || xfip->xfi_format) {
const char *class_name = xo_class_name();
if (class_name) {
__trans_tmp_34 = 0;
__trans_tmp_4 = 0;
xo_format_content(&content, xfip->xfi_format, xfip->xfi_flen, flags);
} else if (xfip->xfi_ftype == 'T')
;
else if (xfip->xfi_ftype == 'U')
xo_format_units();
}
bottom:
if (gettext_reordered)
xo_gettext_rebuild_content(fstart, min_fstart, fend, max_fend);
}
if (0 > 0)
flush = 1;
return 0 ? rc : xop->xo_columns;
}
static int xo_do_emit() {
int __trans_tmp_36;
int __trans_tmp_35;
unsigned max_fields;
xo_field_info_t *fields = 0;
if (xo_retain_count == 0)
__trans_tmp_35 = -1;
unsigned hash = 0;
xo_retain_entry_t *xrep;
for (xrep = &xo_retain.xr_bucket[hash]; xrep != 0; xrep = xrep->xre_next)
if (&xrep->xre_format == &xo_retain_find_fmt)
xo_retain_find_valp = *xrep->xre_fields;
if (!0 || __trans_tmp_35 != 0 || fields == 0) {
int rc = 1;
const char *cp;
for (cp = &xo_count_fields_fmt; *cp; cp++)
if (*cp == '{' || *cp == '\n')
rc += 1;
__trans_tmp_36 = 1 * 2 + 1;
}
max_fields = __trans_tmp_36;
return xo_do_emit_fields(__trans_tmp_36);
}
char *xo_simplify_format() {
unsigned max_fields = 0;
xo_field_info_t fields[max_fields];
xo_buffer_t xb;
xo_gettext_simplify_format(fields);
return xb.xb_bufp;
}
struct xo_handle_s xo_emit_hv_xop;
ssize_t xo_emit_hv(va_list vap) {
ssize_t rc;
__builtin_va_copy(xo_emit_hv_xop.xo_vap, vap);
rc = xo_do_emit();
return rc;
}
static void xo_emit_top(const char *ppn) { xo_printf("%*s{%s", 0, "", ppn); }
static ssize_t xo_do_open_container() {
unsigned int __trans_tmp_39;
unsigned int __trans_tmp_5;
ssize_t rc = 0;
__trans_tmp_39 = 0;
__trans_tmp_5 = 0;
return rc;
}
unsigned short xo_do_close_container_xop_2;
static int xo_do_close_container() {
ssize_t rc = 0;
const char *ppn = 0 ? "\n" : "";
const char *pre_nl = "";
switch ((xo_do_close_container_xop_2))
case 2:
pre_nl = 0 ? "\n" : "";
ppn = 0 ? "\n" : "";
return rc;
}
unsigned int xo_do_open_list_xop_7_0_0;
unsigned short xo_do_open_list_xop_2;
static int xo_do_open_list() {
ssize_t rc = 0;
int indent = 0;
const char ppn;
const char *pre_nl = "";
switch ((xo_do_open_list_xop_2))
case 2:
indent = 1;
if (!0 && !0)
xo_emit_top(&ppn);
if (xo_do_open_list_xop_7_0_0 & 0)
pre_nl = 0 ? ",\n" : ", ";
return rc;
}
static int xo_do_close_list() {
ssize_t rc = 0;
return rc;
}
static int xo_do_open_leaf_list() {
ssize_t rc = 0;
return rc;
}
static int xo_do_close_leaf_list() {
ssize_t rc = 0;
return rc;
}
unsigned short xo_do_open_instance_xop_2;
static int xo_do_open_instance(unsigned int flags, const char *name) {
ssize_t rc = 0;
const char ppn;
const char *pre_nl = "";
switch ((xo_do_open_instance_xop_2)) {
rc = xo_printf("%s%*s{%s", pre_nl, 0, "", &ppn);
case 5:
rc = xo_encoder_handle(name, flags);
}
return rc;
}
static int xo_open_instance_hf() { return xo_transition(); }
void xo_open_instance_h() { xo_open_instance_hf(); }
const char xo_do_close_instance_name;
static int xo_do_close_instance() {
unsigned short __trans_tmp_40;
ssize_t rc = 0;
const char ppn;
const char *pre_nl = "";
__trans_tmp_40 = xo_style_xop_2;
switch (xo_style_xop_2) {
rc = xo_printf("%*s%s", xo_indent, "", &xo_do_close_instance_name, &ppn);
case 2:
pre_nl = 0 ? "\n" : "";
}
return rc;
}
int xo_do_close_all_xop_8;
xo_stack_t *xo_do_close_all_xop_7;
static int xo_do_close_all(xo_stack_t *limit) {
xo_stack_t *xsp;
ssize_t rc = 0;
unsigned int flags;
for (xsp = &xo_do_close_all_xop_7[xo_do_close_all_xop_8]; xsp >= limit; xsp--)
switch (xsp->xs_state) {
case 1:
rc = xo_do_close_container();
case 3:
rc = xo_do_close_list();
case 5:
rc = xo_do_close_instance();
case 7:
rc = xo_do_close_leaf_list();
case 10:
flags = xsp->xs_flags & 0;
}
return 0;
}
int xo_do_close_xop_8;
xo_stack_t *xo_do_close_xop_7;
const char *xo_do_close_name;
unsigned int xo_do_close_new_state;
static int xo_do_close() {
xo_stack_t *xsp, limit;
ssize_t rc;
unsigned int need_state = xo_do_close_new_state;
for (xsp = &xo_do_close_xop_7[xo_do_close_xop_8]; xsp > xo_do_close_xop_7;
xsp--)
if (xsp->xs_state == 10 && need_state != 10)
if (xo_do_close_name)
;
rc = xo_do_close_all(&limit);
return rc;
}
static ssize_t xo_transition() {
const char name = 0;
unsigned int flags = 0;
struct xo_handle_s xop;
char xop_7_0_2;
xo_stack_t xsp;
ssize_t rc = 0;
int old_state, on_marker;
old_state = xsp.xs_state;
on_marker = 0;
switch (0) {
open_container:
case 0:
case (0 << 8 | (1)):
case ((1) << 8 | 0):
rc = xo_do_open_container();
if (rc >= 0)
goto open_container;
open_instance:
case ((3) << 8 | 0):
rc = xo_do_open_instance(flags, &name);
case (0 << 8 | (5)):
case ((1) << 8 | (5)):
rc = xo_do_open_list();
if (rc >= 0)
goto open_instance;
case (0 << 8 | (11)):
if (0)
goto marker_prevents_close;
rc = xo_do_close();
case (0 << 8 | (12)):
case ((1) << 8 | (12)):
case ((5) << 8 | 0):
rc = xo_do_open_leaf_list();
}
marker_prevents_close:
xo_failure(&xop, "marker '%s' prevents transition from %s to %s", &xop_7_0_2,
0, xo_state_name);
return -1;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment