static int handle_incompat(FILE *stream, const struct printf_info *info, const void *const *args) { int len; len = handle_flag(stream, info, args, OCFS2_RAW_SB(query_fs->fs_super)->s_feature_incompat, incompat_flag_in_str); if (OCFS2_RAW_SB(query_fs->fs_super)->s_tunefs_flag) len += handle_flag(stream, info, args, OCFS2_RAW_SB(query_fs->fs_super)->s_tunefs_flag, tunefs_inprog_flag_in_str); if (!len) len = print_string(stream, info, args, "None"); return len; }
static int handle_tordns_enabled(struct parsedfile *config, int lineno, char *value) { int val = handle_flag(value); if(val == -1) { show_msg(MSGERR, "Invalid value %s supplied for tordns_enabled at " "line %d in config file, IGNORED\n", value, lineno); } else { config->tordns_enabled = val; } return 0; }
/* My implementation of printf */ int xprintf(char* format, ...) { char* current_char; va_list args; int chars_printed = 0; va_start(args, format); for(current_char = format; *current_char != '\0'; current_char++) { if(*current_char == '%') { chars_printed += handle_flag(¤t_char, args, chars_printed); } else { putchar(*current_char); chars_printed++; } } va_end(args); return chars_printed; }