ATTR_REVERSE = 0x08,
ATTR_CONCEALED = 0x10
};
+struct attr {
+ const char *name;
+ unsigned int val;
+ enum attr_type type;
+};
static FILE *stream;
#if DEBUG
static void process_opts (int, char **);
static void process_opt_attr (const char *);
-static void write_attr (unsigned int, unsigned int *, enum attr_type, const char *);
+static void write_attr (const struct attr *, unsigned int *);
static void print_hint (void);
static void print_help (void);
static void print_version (void);
process_opt_attr (const char *p)
{
/* If attributes are added to this "list", also increase MAX_ATTRIBUTE_CHARS! */
- const struct attr {
- const char *name;
- unsigned int val;
- enum attr_type type;
- } attrs[] = {
+ const struct attr attrs[] = {
{ "bold", 1, ATTR_BOLD },
{ "underscore", 4, ATTR_UNDERSCORE },
{ "blink", 5, ATTR_BLINK },
unsigned int i;
for (i = 0; i < sizeof (attrs) / sizeof (struct attr); i++)
{
- size_t name_len = strlen (attrs[i].name);
+ const size_t name_len = strlen (attrs[i].name);
if ((size_t)(p - s) == name_len && strneq (s, attrs[i].name, name_len))
{
- write_attr (attrs[i].val, &attr_types, attrs[i].type, attrs[i].name);
+ write_attr (&attrs[i], &attr_types);
valid_attr = true;
break;
}
}
static void
-write_attr (unsigned int val, unsigned int *attr_types, enum attr_type attr_type, const char *attr_name)
+write_attr (const struct attr *attr_i, unsigned int *attr_types)
{
+ const unsigned int val = attr_i->val;
+ const enum attr_type attr_type = attr_i->type;
+ const char *attr_name = attr_i->name;
+
if (*attr_types & attr_type)
vfprintf_fail ("--attr switch has attribute '%s' twice or more", attr_name);
snprintf (attr + strlen (attr), 3, "%u;", val);
#endif
const char *version_prefix, *version_string;
const char *c_flags, *ld_flags, *cpp_flags;
+ const char *const desc_flags_unknown = "unknown";
struct bytes_size bytes_size;
bool debug;
#ifdef CFLAGS
c_flags = to_str (CFLAGS);
#else
- c_flags = "unknown";
+ c_flags = desc_flags_unknown;
#endif
#ifdef LDFLAGS
ld_flags = to_str (LDFLAGS);
#else
- ld_flags = "unknown";
+ ld_flags = desc_flags_unknown;
#endif
#ifdef CPPFLAGS
cpp_flags = to_str (CPPFLAGS);
#else
- cpp_flags = "unknown";
+ cpp_flags = desc_flags_unknown;
#endif
#if DEBUG
debug = true;
if (have_file)
{
- const char *file_exists = color_string;
+ const char *file_existing = color_string;
if (file_string)
- vfprintf_fail (formats[FMT_QUOTE], get_file_type (mode), file_exists, "cannot be used as color string");
+ vfprintf_fail (formats[FMT_QUOTE], get_file_type (mode), file_existing, "cannot be used as color string");
else
{
if (VALID_FILE_TYPE (mode))
- vfprintf_fail (formats[FMT_QUOTE], get_file_type (mode), file_exists, "must be preceded by color string");
+ vfprintf_fail (formats[FMT_QUOTE], get_file_type (mode), file_existing, "must be preceded by color string");
else
- vfprintf_fail (formats[FMT_QUOTE], get_file_type (mode), file_exists, "is not a valid file type");
+ vfprintf_fail (formats[FMT_QUOTE], get_file_type (mode), file_existing, "is not a valid file type");
}
}
}
if (read_from_stream)
save_char (ch, buf, &i, &size);
}
- else /* read next character */
+ else /* got next character */
{
got_next_char = true;
break;