libbb/dump: conditionalize code used only by xxd and od
No binary (build failed)
—
(log yok)
| @@ -223,7 +223,7 @@ int od_main(int argc, char **argv) | |
| return bb_dump_dump(dumper, argv); | |
| } | |
| - | #endif /* ENABLE_DESKTOP */ |
| + | #endif /* !ENABLE_DESKTOP */ |
| /*- | |
| * Copyright (c) 1990 The Regents of the University of California. | |
| @@ -33,8 +33,12 @@ typedef struct dumper_t { | |
| int dump_length; /* max bytes to read */ | |
| smallint dump_vflag; /*enum dump_vflag_t*/ | |
| FS *fshead; | |
| + | #if ENABLE_XXD |
| const char *xxd_eofstring; | |
| + | #endif |
| + | #if ENABLE_OD |
| const char *od_eofstring; | |
| + | #endif |
| off_t address; /* address/offset in stream */ | |
| long long xxd_displayoff; | |
| } dumper_t; | |
| @@ -563,17 +563,21 @@ static NOINLINE void display(priv_dumper_t* dumper) | |
| if (dumper->eaddress | |
| && dumper->pub.address >= dumper->eaddress | |
| ) { | |
| + | #if ENABLE_XXD |
| if (dumper->pub.xxd_eofstring) { | |
| /* xxd support: requested to not pad incomplete blocks */ | |
| fputs_stdout(dumper->pub.xxd_eofstring); | |
| return; | |
| } | |
| + | #endif |
| + | #if ENABLE_OD |
| if (dumper->pub.od_eofstring) { | |
| /* od support: requested to not pad incomplete blocks */ | |
| /* ... but do print final offset */ | |
| fputs_stdout(dumper->pub.od_eofstring); | |
| goto endfu; | |
| } | |
| + | #endif |
| if (!(pr->flags & (F_TEXT | F_BPAD))) | |
| bpad(pr); | |
| } | |
| @@ -637,7 +641,7 @@ static NOINLINE void display(priv_dumper_t* dumper) | |
| goto skip; | |
| } | |
| printf(pr->fmt, value); | |
| - | skip: |
| + | IF_OD(skip:) |
| break; | |
| } | |
| case F_P: | |