This is an automated email from the git hooks/post-receive script.
andyp pushed a commit to branch main in repository gfs2-utils.
commit c7c4ed0cd94558dbc726f0fa5097b066de75d1cb Author: Andrew Price anprice@redhat.com AuthorDate: Wed Jan 12 18:40:28 2022 +0000
libgfs2: Remove print_it extern requirement
Now that libgfs2 doesn't depend on a print_it() function being provided by the utils, the extern declaration can be removed from libgfs2.h. The print_it functions in mkfs.gfs2 and gfs2_edit are moved into their struct_print.c files and made static. All other print_it definitions are removed or made static.
Signed-off-by: Andrew Price anprice@redhat.com --- gfs2/convert/gfs2_convert.c | 13 --- gfs2/edit/extended.c | 7 -- gfs2/edit/gfs2hex.c | 135 ----------------------------- gfs2/edit/hexedit.c | 33 ------- gfs2/edit/hexedit.h | 4 +- gfs2/edit/struct_print.c | 200 ++++++++++++++++++++++++++++++++++++++----- gfs2/edit/struct_print.h | 4 + gfs2/fsck/main.c | 11 --- gfs2/glocktop/glocktop.c | 3 +- gfs2/libgfs2/check_libgfs2.c | 3 - gfs2/libgfs2/gfs2l.c | 3 - gfs2/libgfs2/libgfs2.h | 2 - gfs2/mkfs/gfs2_mkfs.h | 11 --- gfs2/mkfs/struct_print.c | 12 +++ tests/nukerg.c | 3 - 15 files changed, 198 insertions(+), 246 deletions(-)
diff --git a/gfs2/convert/gfs2_convert.c b/gfs2/convert/gfs2_convert.c index 5bfc616b..dc011d05 100644 --- a/gfs2/convert/gfs2_convert.c +++ b/gfs2/convert/gfs2_convert.c @@ -114,19 +114,6 @@ static unsigned orig_journals = 0;
int print_level = MSG_NOTICE;
-/* ------------------------------------------------------------------------- */ -/* This function is for libgfs's sake. */ -/* ------------------------------------------------------------------------- */ -void print_it(const char *label, const char *fmt, const char *fmt2, ...) -{ - va_list args; - - va_start(args, fmt2); - printf("%s: ", label); - vprintf(fmt, args); - va_end(args); -} - /* ------------------------------------------------------------------------- */ /* convert_bitmaps - Convert gfs1 bitmaps to gfs2 bitmaps. */ /* Fixes all unallocated metadata bitmap states (which are */ diff --git a/gfs2/edit/extended.c b/gfs2/edit/extended.c index 8ba3da3b..6e2e16db 100644 --- a/gfs2/edit/extended.c +++ b/gfs2/edit/extended.c @@ -421,13 +421,6 @@ static void print_block_details(struct iinfo *ind, int level, int cur_height, free(more_indir); }
-static void gfs_jindex_print(struct gfs_jindex *ji) -{ - print_it(" ji_addr", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(ji->ji_addr)); - print_it(" ji_nsegment", "%"PRIu32, "0x%"PRIx32, be32_to_cpu(ji->ji_nsegment)); - print_it(" ji_pad", "%"PRIu32, "0x%"PRIx32, be32_to_cpu(ji->ji_pad)); -} - static int print_gfs_jindex(struct gfs2_inode *dij) { int error, start_line; diff --git a/gfs2/edit/gfs2hex.c b/gfs2/edit/gfs2hex.c index 9c71ac60..610c7d2a 100644 --- a/gfs2/edit/gfs2hex.c +++ b/gfs2/edit/gfs2hex.c @@ -18,16 +18,6 @@ #include "gfs2hex.h" #include "struct_print.h"
-#define pv(struct, member, fmt, fmt2) do { \ - print_it(" "#member, fmt, fmt2, struct->member); \ - } while (FALSE); -#define pv2(struct, member, fmt, fmt2) do { \ - print_it(" ", fmt, fmt2, struct->member); \ - } while (FALSE); -#define printbe32(struct, member) do { \ - print_it(" "#member, "%"PRIu32, "0x%"PRIx32, be32_to_cpu(struct->member)); \ - } while(0) - struct gfs2_dinode *di; int line, termlines; char edit_fmt[80]; @@ -107,107 +97,6 @@ void print_gfs2(const char *fmt, ...) va_end(args); }
-static void check_highlight(int highlight) -{ - if (!termlines || line >= termlines) /* If printing or out of bounds */ - return; - if (dmode == HEX_MODE) { - if (line == (edit_row[dmode] * lines_per_row[dmode]) + 4) { - if (highlight) { - COLORS_HIGHLIGHT; - last_entry_onscreen[dmode] = print_entry_ndx; - } else - COLORS_NORMAL; - } - } else { - if ((line * lines_per_row[dmode]) - 4 == - (edit_row[dmode] - start_row[dmode]) * lines_per_row[dmode]) { - if (highlight) { - COLORS_HIGHLIGHT; - last_entry_onscreen[dmode] = print_entry_ndx; - } - else - COLORS_NORMAL; - } - } -} - -void print_it(const char *label, const char *fmt, const char *fmt2, ...) -{ - va_list args; - char tmp_string[NAME_MAX]; - const char *fmtstring; - int decimalsize; - - if (!termlines || line < termlines) { - va_start(args, fmt2); - check_highlight(TRUE); - if (termlines) { - move(line,0); - printw("%s", label); - move(line,24); - } else { - if (!strcmp(label, " ")) - printf("%-11s", label); - else - printf("%-24s", label); - } - vsprintf(tmp_string, fmt, args); - - if (termlines) - printw("%s", tmp_string); - else - printf("%s", tmp_string); - check_highlight(FALSE); - - if (fmt2) { - decimalsize = strlen(tmp_string); - va_end(args); - va_start(args, fmt2); - vsprintf(tmp_string, fmt2, args); - check_highlight(TRUE); - if (termlines) { - move(line, 50); - printw("%s", tmp_string); - } else { - int i; - for (i=20 - decimalsize; i > 0; i--) - printf(" "); - printf("%s", tmp_string); - } - check_highlight(FALSE); - } else { - if (strstr(fmt,"X") || strstr(fmt,"x")) - fmtstring="(hex)"; - else if (strstr(fmt,"s")) - fmtstring=""; - else - fmtstring="(decimal)"; - if (termlines) { - move(line, 50); - printw("%s", fmtstring); - } - else - printf("%s", fmtstring); - } - if (termlines) { - refresh(); - if (line == (edit_row[dmode] * lines_per_row[dmode]) + 4) { - strncpy(efield, label + 2, 63); /* it's indented */ - efield[63] = '\0'; - strcpy(estring, tmp_string); - strncpy(edit_fmt, fmt, 79); - edit_fmt[79] = '\0'; - edit_size[dmode] = strlen(estring); - COLORS_NORMAL; - } - last_entry_onscreen[dmode] = (line / lines_per_row[dmode]) - 4; - } - eol(0); - va_end(args); - } -} - void idirent_in(struct idirent *id, void *dep) { struct gfs2_dirent *de = dep; @@ -370,30 +259,6 @@ static void do_eattr_extended(char *buf) } }
-/** - * gfs_sb_print - Print out a gfs1 superblock - * @sbp: the big-endian buffer - */ -static void gfs_sb_print(void *sbp) -{ - struct gfs_sb *sb = sbp; - - meta_header_print(&sb->sb_header); - printbe32(sb, sb_fs_format); - printbe32(sb, sb_multihost_format); - printbe32(sb, sb_flags); - printbe32(sb, sb_bsize); - printbe32(sb, sb_bsize_shift); - printbe32(sb, sb_seg_size); - inum_print(&sb->sb_jindex_di); - inum_print(&sb->sb_rindex_di); - inum_print(&sb->sb_root_di); - pv(sb, sb_lockproto, "%.64s", NULL); - pv(sb, sb_locktable, "%.64s", NULL); - inum_print(&sb->sb_quota_di); - inum_print(&sb->sb_license_di); -} - void display_gfs2(void *buf) { struct gfs2_meta_header *mh = buf; diff --git a/gfs2/edit/hexedit.c b/gfs2/edit/hexedit.c index d88bfcfe..13af4007 100644 --- a/gfs2/edit/hexedit.c +++ b/gfs2/edit/hexedit.c @@ -727,23 +727,6 @@ static uint64_t find_rgrp_block(struct gfs2_inode *dif, int rg) return be64_to_cpu(ri.ri_addr); }
-/* ------------------------------------------------------------------------ */ -/* gfs_rgrp_print - print a gfs1 resource group */ -/* ------------------------------------------------------------------------ */ -void gfs_rgrp_print(void *rgp) -{ - struct gfs_rgrp *rg = rgp; - - meta_header_print(&rg->rg_header); - printbe32(rg, rg_flags); - printbe32(rg, rg_free); - printbe32(rg, rg_useddi); - printbe32(rg, rg_freedi); - inum_print(&rg->rg_freedi_list); - printbe32(rg, rg_usedmeta); - printbe32(rg, rg_freemeta); -} - /* ------------------------------------------------------------------------ */ /* get_rg_addr */ /* ------------------------------------------------------------------------ */ @@ -2028,22 +2011,6 @@ static void interactive_mode(void) endwin(); }/* interactive_mode */
-/* ------------------------------------------------------------------------ */ -/* gfs_log_header_print - print a gfs1-style log header */ -/* ------------------------------------------------------------------------ */ -void gfs_log_header_print(void *lhp) -{ - struct gfs_log_header *lh = lhp; - - meta_header_print(&lh->lh_header); - print_it(" lh_flags", "%"PRIu32, "0x%.8"PRIx32, be32_to_cpu(lh->lh_flags)); - print_it(" lh_pad", "%"PRIu32, "0x%"PRIx32, be32_to_cpu(lh->lh_pad)); - print_it(" lh_first", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_first)); - print_it(" lh_sequence", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_sequence)); - print_it(" lh_tail", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_tail)); - print_it(" lh_last_dump", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_last_dump)); -} - /* ------------------------------------------------------------------------ */ /* usage - print command line usage */ /* ------------------------------------------------------------------------ */ diff --git a/gfs2/edit/hexedit.h b/gfs2/edit/hexedit.h index 29f465a0..156874da 100644 --- a/gfs2/edit/hexedit.h +++ b/gfs2/edit/hexedit.h @@ -5,6 +5,7 @@ #include <inttypes.h> #include <limits.h> #include <string.h> +#include <ncurses.h>
#include "libgfs2.h" #include "copyright.cf" @@ -20,9 +21,6 @@ enum dsp_mode { HEX_MODE = 0, GFS2_MODE = 1, EXTENDED_MODE = 2, INIT_MODE = 3 }; #define BLOCK_STACK_SIZE 256
-#define pv(struct, member, fmt, fmt2) do { \ - print_it(" "#member, fmt, fmt2, struct->member); \ - } while (FALSE); #define RGLIST_DUMMY_BLOCK -2 #define JOURNALS_DUMMY_BLOCK -3
diff --git a/gfs2/edit/struct_print.c b/gfs2/edit/struct_print.c index 88c9c609..896f648b 100644 --- a/gfs2/edit/struct_print.c +++ b/gfs2/edit/struct_print.c @@ -1,11 +1,116 @@ #include <stddef.h> +#include <stdarg.h> #include <string.h> #include <inttypes.h> #include <uuid.h> #include <libgfs2.h>
+#include "hexedit.h" +#include "gfs2hex.h" #include "struct_print.h"
+static void check_highlight(int highlight) +{ + if (!termlines || line >= termlines) /* If printing or out of bounds */ + return; + if (dmode == HEX_MODE) { + if (line == (edit_row[dmode] * lines_per_row[dmode]) + 4) { + if (highlight) { + COLORS_HIGHLIGHT; + last_entry_onscreen[dmode] = print_entry_ndx; + } else + COLORS_NORMAL; + } + } else { + if ((line * lines_per_row[dmode]) - 4 == + (edit_row[dmode] - start_row[dmode]) * lines_per_row[dmode]) { + if (highlight) { + COLORS_HIGHLIGHT; + last_entry_onscreen[dmode] = print_entry_ndx; + } + else + COLORS_NORMAL; + } + } +} + +__attribute__((format(printf,2,4))) +static void print_it(const char *label, const char *fmt, const char *fmt2, ...) +{ + va_list args; + char tmp_string[NAME_MAX]; + const char *fmtstring; + int decimalsize; + + if (!termlines || line < termlines) { + va_start(args, fmt2); + check_highlight(TRUE); + if (termlines) { + move(line,0); + printw("%s", label); + move(line,24); + } else { + if (!strcmp(label, " ")) + printf("%-11s", label); + else + printf("%-24s", label); + } + vsprintf(tmp_string, fmt, args); + + if (termlines) + printw("%s", tmp_string); + else + printf("%s", tmp_string); + check_highlight(FALSE); + + if (fmt2) { + decimalsize = strlen(tmp_string); + va_end(args); + va_start(args, fmt2); + vsprintf(tmp_string, fmt2, args); + check_highlight(TRUE); + if (termlines) { + move(line, 50); + printw("%s", tmp_string); + } else { + int i; + for (i=20 - decimalsize; i > 0; i--) + printf(" "); + printf("%s", tmp_string); + } + check_highlight(FALSE); + } else { + if (strstr(fmt,"X") || strstr(fmt,"x")) + fmtstring="(hex)"; + else if (strstr(fmt,"s")) + fmtstring=""; + else + fmtstring="(decimal)"; + if (termlines) { + move(line, 50); + printw("%s", fmtstring); + } + else + printf("%s", fmtstring); + } + if (termlines) { + refresh(); + if (line == (edit_row[dmode] * lines_per_row[dmode]) + 4) { + strncpy(efield, label + 2, 63); /* it's indented */ + efield[63] = '\0'; + strcpy(estring, tmp_string); + strncpy(edit_fmt, fmt, 79); + edit_fmt[79] = '\0'; + edit_size[dmode] = strlen(estring); + COLORS_NORMAL; + } + last_entry_onscreen[dmode] = (line / lines_per_row[dmode]) - 4; + } + eol(0); + va_end(args); + } +} + #define printbe16(struct, member) do { \ print_it(" "#member, "%"PRIu16, "0x%"PRIx16, be16_to_cpu(struct->member)); \ } while(0) @@ -54,6 +159,26 @@ void sb_print(void *sbp) print_it(" uuid", "%36s", NULL, readable_uuid); }
+void gfs_sb_print(void *sbp) +{ + struct gfs_sb *sb = sbp; + + meta_header_print(&sb->sb_header); + printbe32(sb, sb_fs_format); + printbe32(sb, sb_multihost_format); + printbe32(sb, sb_flags); + printbe32(sb, sb_bsize); + printbe32(sb, sb_bsize_shift); + printbe32(sb, sb_seg_size); + inum_print(&sb->sb_jindex_di); + inum_print(&sb->sb_rindex_di); + inum_print(&sb->sb_root_di); + print_it(" sb_lockproto", "%.64s", NULL, sb->sb_lockproto); + print_it(" sb_locktable", "%.64s", NULL, sb->sb_locktable); + inum_print(&sb->sb_quota_di); + inum_print(&sb->sb_license_di); +} + void rindex_print(void *rip) { struct gfs2_rindex *ri = rip; @@ -81,6 +206,20 @@ void rgrp_print(void *rgp) printbe32(rg, rg_crc); }
+void gfs_rgrp_print(void *rgp) +{ + struct gfs_rgrp *rg = rgp; + + meta_header_print(&rg->rg_header); + printbe32(rg, rg_flags); + printbe32(rg, rg_free); + printbe32(rg, rg_useddi); + printbe32(rg, rg_freedi); + inum_print(&rg->rg_freedi_list); + printbe32(rg, rg_usedmeta); + printbe32(rg, rg_freemeta); +} + void quota_print(void *qp) { struct gfs2_quota *q = qp; @@ -92,30 +231,30 @@ void quota_print(void *qp)
void dinode_print(void *dip) { - struct gfs2_dinode *di = dip; + struct gfs2_dinode *_di = dip;
- meta_header_print(&di->di_header); - inum_print(&di->di_num); + meta_header_print(&_di->di_header); + inum_print(&_di->di_num);
print_it(" di_mode", "0%"PRIo32, NULL, be32_to_cpu(di->di_mode)); - printbe32(di, di_uid); - printbe32(di, di_gid); - printbe32(di, di_nlink); - printbe64(di, di_size); - printbe64(di, di_blocks); - printbe64(di, di_atime); - printbe64(di, di_mtime); - printbe64(di, di_ctime); - printbe32(di, di_major); - printbe32(di, di_minor); - printbe64(di, di_goal_meta); - printbe64(di, di_goal_data); - print_it(" di_flags", "0x%.8"PRIX32, NULL, be32_to_cpu(di->di_flags)); - printbe32(di, di_payload_format); - printbe16(di, di_height); - printbe16(di, di_depth); - printbe32(di, di_entries); - printbe64(di, di_eattr); + printbe32(_di, di_uid); + printbe32(_di, di_gid); + printbe32(_di, di_nlink); + printbe64(_di, di_size); + printbe64(_di, di_blocks); + printbe64(_di, di_atime); + printbe64(_di, di_mtime); + printbe64(_di, di_ctime); + printbe32(_di, di_major); + printbe32(_di, di_minor); + printbe64(_di, di_goal_meta); + printbe64(_di, di_goal_data); + print_it(" di_flags", "0x%.8"PRIX32, NULL, be32_to_cpu(_di->di_flags)); + printbe32(_di, di_payload_format); + printbe16(_di, di_height); + printbe16(_di, di_depth); + printbe32(_di, di_entries); + printbe64(_di, di_eattr); }
void leaf_print(void *lfp) @@ -175,6 +314,19 @@ void log_header_print(void *lhp) print_it(" lh_local_dinodes", "%"PRId64, "0x%"PRIx64, be64_to_cpu(lh->lh_local_dinodes)); }
+void gfs_log_header_print(void *lhp) +{ + struct gfs_log_header *lh = lhp; + + meta_header_print(&lh->lh_header); + print_it(" lh_flags", "%"PRIu32, "0x%.8"PRIx32, be32_to_cpu(lh->lh_flags)); + print_it(" lh_pad", "%"PRIu32, "0x%"PRIx32, be32_to_cpu(lh->lh_pad)); + print_it(" lh_first", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_first)); + print_it(" lh_sequence", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_sequence)); + print_it(" lh_tail", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_tail)); + print_it(" lh_last_dump", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(lh->lh_last_dump)); +} + void log_descriptor_print(void *ldp) { struct gfs2_log_descriptor *ld = ldp; @@ -204,3 +356,9 @@ void quota_change_print(void *qcp) printbe32(qc, qc_id); }
+void gfs_jindex_print(struct gfs_jindex *ji) +{ + print_it(" ji_addr", "%"PRIu64, "0x%"PRIx64, be64_to_cpu(ji->ji_addr)); + print_it(" ji_nsegment", "%"PRIu32, "0x%"PRIx32, be32_to_cpu(ji->ji_nsegment)); + print_it(" ji_pad", "%"PRIu32, "0x%"PRIx32, be32_to_cpu(ji->ji_pad)); +} diff --git a/gfs2/edit/struct_print.h b/gfs2/edit/struct_print.h index 784c130d..be5bb1cb 100644 --- a/gfs2/edit/struct_print.h +++ b/gfs2/edit/struct_print.h @@ -5,8 +5,10 @@ extern void inum_print(void *nop); extern void meta_header_print(void *mhp); extern void sb_print(void *sbp); +extern void gfs_sb_print(void *sbp); extern void dinode_print(void *dip); extern void log_header_print(void *lhp); +extern void gfs_log_header_print(void *lhp); extern void log_descriptor_print(void *ldp); extern void quota_print(void *qp); extern void quota_change_print(void *qcp); @@ -15,5 +17,7 @@ extern void ea_header_print(void *eap); extern void leaf_print(void *lfp); extern void rindex_print(void *rip); extern void rgrp_print(void *rgp); +extern void gfs_rgrp_print(void *rgp); +extern void gfs_jindex_print(struct gfs_jindex *ji);
#endif /* STRUCT_PRINT_H */ diff --git a/gfs2/fsck/main.c b/gfs2/fsck/main.c index cb667815..82408245 100644 --- a/gfs2/fsck/main.c +++ b/gfs2/fsck/main.c @@ -45,17 +45,6 @@ static int preen = 0; static int force_check = 0; static const char *pass_name = "";
-/* This function is for libgfs2's sake. */ -void print_it(const char *label, const char *fmt, const char *fmt2, ...) -{ - va_list args; - - va_start(args, fmt2); - printf("%s: ", label); - vprintf(fmt, args); - va_end(args); -} - static void usage(char *name) { printf("Usage: %s [-afhnpqvVy] <device> \n", basename(name)); diff --git a/gfs2/glocktop/glocktop.c b/gfs2/glocktop/glocktop.c index 1eb84c21..9fc7bc64 100644 --- a/gfs2/glocktop/glocktop.c +++ b/gfs2/glocktop/glocktop.c @@ -550,7 +550,8 @@ static void eol(int col) /* end of line */ } }
-void print_it(const char *label, const char *fmt, const char *fmt2, ...) +__attribute__((format(printf,2,4))) +static void print_it(const char *label, const char *fmt, const char *fmt2, ...) { va_list args; char tmp_string[128]; diff --git a/gfs2/libgfs2/check_libgfs2.c b/gfs2/libgfs2/check_libgfs2.c index a5d9df52..2ee5895d 100644 --- a/gfs2/libgfs2/check_libgfs2.c +++ b/gfs2/libgfs2/check_libgfs2.c @@ -1,9 +1,6 @@ #include <check.h> #include "libgfs2.h"
-// TODO: Remove this when the extern is removed from libgfs2 -void print_it(const char *label, const char *fmt, const char *fmt2, ...) {} - extern Suite *suite_meta(void); extern Suite *suite_ondisk(void); extern Suite *suite_rgrp(void); diff --git a/gfs2/libgfs2/gfs2l.c b/gfs2/libgfs2/gfs2l.c index 6fc6cd37..cc4f94fc 100644 --- a/gfs2/libgfs2/gfs2l.c +++ b/gfs2/libgfs2/gfs2l.c @@ -197,6 +197,3 @@ int main(int argc, char *argv[]) free(opts.fspath); return 0; } - -// libgfs2 still requires an external print_it function -void print_it(const char *label, const char *fmt, const char *fmt2, ...) { return; } diff --git a/gfs2/libgfs2/libgfs2.h b/gfs2/libgfs2/libgfs2.h index 81fe5983..cf7ecf3f 100644 --- a/gfs2/libgfs2/libgfs2.h +++ b/gfs2/libgfs2/libgfs2.h @@ -796,8 +796,6 @@ extern int write_sb(struct gfs2_sbd *sdp);
/* ondisk.c */ extern uint32_t gfs2_disk_hash(const char *data, int len); -extern void print_it(const char *label, const char *fmt, const char *fmt2, ...) - __attribute__((format(printf,2,4)));
/* Translation functions */
diff --git a/gfs2/mkfs/gfs2_mkfs.h b/gfs2/mkfs/gfs2_mkfs.h index 6237cd04..f3ff9b16 100644 --- a/gfs2/mkfs/gfs2_mkfs.h +++ b/gfs2/mkfs/gfs2_mkfs.h @@ -4,17 +4,6 @@ #include <stdarg.h> #include "copyright.cf"
-/* This function is for libgfs2's sake. */ -void print_it(const char *label, const char *fmt, const char *fmt2, ...) -{ - va_list args; - - va_start(args, fmt2); - printf("%s: ", label); - vprintf(fmt, args); - va_end(args); -} - /* * The following inode IOCTL macros and inode flags * are copied from linux/fs.h, because we have duplicate diff --git a/gfs2/mkfs/struct_print.c b/gfs2/mkfs/struct_print.c index 88c9c609..d038f27c 100644 --- a/gfs2/mkfs/struct_print.c +++ b/gfs2/mkfs/struct_print.c @@ -2,10 +2,22 @@ #include <string.h> #include <inttypes.h> #include <uuid.h> +#include <stdarg.h> #include <libgfs2.h>
#include "struct_print.h"
+__attribute__((format(printf,2,4))) +static void print_it(const char *label, const char *fmt, const char *fmt2, ...) +{ + va_list args; + + va_start(args, fmt2); + printf("%s: ", label); + vprintf(fmt, args); + va_end(args); +} + #define printbe16(struct, member) do { \ print_it(" "#member, "%"PRIu16, "0x%"PRIx16, be16_to_cpu(struct->member)); \ } while(0) diff --git a/tests/nukerg.c b/tests/nukerg.c index 74b65abb..a831e459 100644 --- a/tests/nukerg.c +++ b/tests/nukerg.c @@ -343,6 +343,3 @@ int main(int argc, char **argv) close(sbd.device_fd); exit(0); } - -/* This function is for libgfs2's sake. */ -void print_it(const char *label, const char *fmt, const char *fmt2, ...) {}
cluster-commits@lists.fedorahosted.org