From e91f9fa064c77c09b75467424de408d832d04c3d Mon Sep 17 00:00:00 2001 From: Florian Preinstorfer Date: Thu, 23 Oct 2014 08:14:03 +0200 Subject: [PATCH 2/2] Add print_inverted_bits() to replace a duplicated code block. --- src/ftdi.c | 50 +++++++++++++++----------------------------------- src/ftdi.h | 2 ++ 2 files changed, 17 insertions(+), 35 deletions(-) diff --git a/src/ftdi.c b/src/ftdi.c index 0a6dfb5..bad338d 100644 --- a/src/ftdi.c +++ b/src/ftdi.c @@ -3515,33 +3515,8 @@ int ftdi_eeprom_decode(struct ftdi_context *ftdi, int verbose) if (eeprom->cbus_function[i]<= CBUSH_AWAKE) fprintf(stdout,"CBUS%d Function: %s\n", i, cbush_mux[eeprom->cbus_function[i]]); } - if(eeprom->invert ) { - struct bitnames { - int mask; - char *name; - }; - - struct bitnames invbitlist[] = { - {INVERT_TXD, "TXD"}, - {INVERT_RXD, "RXD"}, - {INVERT_RTS, "RTS"}, - {INVERT_CTS, "CTS"}, - {INVERT_DTR, "DTR"}, - {INVERT_DSR, "DSR"}, - {INVERT_DCD, "DCD"}, - {INVERT_RI, "RI"}, - {0, NULL}, - }; - int n = 0; - printf("Inversion on "); - for (i=0; invbitlist[i].mask;i++) { - if(eeprom->invert & invbitlist[i].mask) { - if (n++) printf (","); - printf (" %s", invbitlist[i].name); - } - } - printf (" Pin%s\n",(n==1)?"":"s"); - } + if(eeprom->invert ) + print_inverted_bits(eeprom->invert); } if (ftdi->type == TYPE_R) @@ -3553,14 +3528,8 @@ int ftdi_eeprom_decode(struct ftdi_context *ftdi, int verbose) char *cbus_BB[] = {"RXF","TXE","RD", "WR"}; if (eeprom->invert) - { - char *r_bits[] = {"TXD","RXD","RTS", "CTS","DTR","DSR","DCD","RI"}; - fprintf(stdout,"Inverted bits:"); - for (i=0; i<8; i++) - if ((eeprom->invert & (1<invert); + for (i=0; i<5; i++) { if (eeprom->cbus_function[i]error_str; } +void print_inverted_bits(int invert) +{ + int i; + char *r_bits[] = {"TXD","RXD","RTS","CTS","DTR","DSR","DCD","RI"}; + fprintf(stdout,"Inverted bits:"); + for (i=0; i<8; i++) + if ((invert & (1<