@@ -50,14 +50,21 @@ void printData(asciiParams params){
5050
5151 if (params .onlyBin /*|| params._onlyAll*/ ){
5252 uint8_t index = 0 ; uint8_t content = params .content [s ];
53- uint8_t binStr [9 ] = "00000000\0" ;
53+ uint8_t binStr [10 ] = "0000 0000\0" ;
54+
55+ for (uint8_t i = 128 ; i > 0 && content != 0 ; ){
56+ if (binStr [index ] == ' ' ){
57+ index ++ ;
58+ continue ;
59+ }
5460
55- for (uint8_t i = 128 ; i > 0 && content != 0 ; i = (i /2 )){
5661 if (content >= i ){
5762 binStr [index ] = '1' ;
5863 content -= i ;
5964 }
65+
6066 index ++ ;
67+ i = (i /2 );
6168 }
6269
6370 snprintf (tmp , sizeof (tmp ), "%s " , binStr );
@@ -86,13 +93,13 @@ void printData(asciiParams params){
8693 s ++ ;
8794 }
8895
89- uint16_t colLineLength = (params .onlyOct || params ._onlyAll ?5 :0 ) + (params .onlyDec || params ._onlyAll ?5 :0 ) + (params .onlyHex || params ._onlyAll ?5 :0 ) + (params .onlyBin /*|| params._onlyAll*/ ?10 :0 ) + (params .onlyChar || params ._onlyAll ?5 :0 );
96+ uint16_t colLineLength = (params .onlyOct || params ._onlyAll ?5 :0 ) + (params .onlyDec || params ._onlyAll ?5 :0 ) + (params .onlyHex || params ._onlyAll ?5 :0 ) + (params .onlyBin /*|| params._onlyAll*/ ?11 :0 ) + (params .onlyChar || params ._onlyAll ?5 :0 );
9097
9198 for (uint8_t i = 0 ; i < col ; i ++ ){
9299 if (params .onlyOct || params ._onlyAll ) printf ("Oct " );
93100 if (params .onlyDec || params ._onlyAll ) printf ("Dec " );
94101 if (params .onlyHex || params ._onlyAll ) printf ("Hex " );
95- if (params .onlyBin /*|| params._onlyAll*/ ) printf ("Binary " );
102+ if (params .onlyBin /*|| params._onlyAll*/ ) printf ("Binary " );
96103 if (params .onlyChar || params ._onlyAll ) printf (YEL "Chr" RESET );
97104
98105 if (col != i + 1 ){
@@ -108,8 +115,8 @@ void printData(asciiParams params){
108115 uint8_t * hyphens = (uint8_t * )calloc ( (size_t )maxLength [i ],sizeof (uint8_t ));
109116 memset (hyphens , (uint8_t )45 , sizeof (uint8_t ) * (size_t )maxLength [i ]);
110117
111- uint8_t * fHyphens = (uint8_t * )calloc ( params ._onlyAll ?(params .onlyBin ?19 + 10 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?10 :0 ) + (params .onlyChar ?4 :0 ),sizeof (uint8_t ));
112- memset (fHyphens , (uint8_t )45 , sizeof (uint8_t ) * (params ._onlyAll ?(params .onlyBin ?19 + 10 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?10 :0 ) + (params .onlyChar ?4 :0 )));
118+ uint8_t * fHyphens = (uint8_t * )calloc ( params ._onlyAll ?(params .onlyBin ?19 + 11 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?11 :0 ) + (params .onlyChar ?4 :0 ),sizeof (uint8_t ));
119+ memset (fHyphens , (uint8_t )45 , sizeof (uint8_t ) * (params ._onlyAll ?(params .onlyBin ?19 + 11 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?10 :0 ) + (params .onlyChar ?4 :0 )));
113120
114121 printf ("%s%s" ,fHyphens ,hyphens );
115122 if (col - 1 != i ) printf ("+--" );
@@ -124,8 +131,8 @@ void printData(asciiParams params){
124131 uint8_t * hyphens = (uint8_t * )calloc ( (size_t )maxLength [i ],sizeof (uint8_t ));
125132 memset (hyphens , (uint8_t )45 , sizeof (uint8_t ) * (size_t )maxLength [i ]);
126133
127- uint8_t * fHyphens = (uint8_t * )calloc ( params ._onlyAll ?(params .onlyBin ?19 + 10 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?10 :0 ) + (params .onlyChar ?4 :0 ),sizeof (uint8_t ));
128- memset (fHyphens , (uint8_t )45 , sizeof (uint8_t ) * (params ._onlyAll ?(params .onlyBin ?19 + 10 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?10 :0 ) + (params .onlyChar ?4 :0 )));
134+ uint8_t * fHyphens = (uint8_t * )calloc ( params ._onlyAll ?(params .onlyBin ?19 + 11 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?11 :0 ) + (params .onlyChar ?4 :0 ),sizeof (uint8_t ));
135+ memset (fHyphens , (uint8_t )45 , sizeof (uint8_t ) * (params ._onlyAll ?(params .onlyBin ?19 + 11 :19 ):(params .onlyDec ?5 :0 ) + (params .onlyOct ?5 :0 ) + (params .onlyHex ?5 :0 ) + (params .onlyBin ?10 :0 ) + (params .onlyChar ?4 :0 )));
129136
130137 printf ("%s%s" ,fHyphens ,hyphens );
131138 if (col - 1 != i ) printf ("+--" );
0 commit comments