CHG: Updated Reveng from 1.3.0 -> 1.3.1

It now allows of values to be entered as hex i.e. 0x00
This commit is contained in:
iceman1001 2016-02-11 18:28:34 +01:00
commit fe144f121d
4 changed files with 130 additions and 118 deletions

View file

@ -1,5 +1,5 @@
/* poly.c
* Greg Cook, 9/Apr/2015
* Greg Cook, 29/Jul/2015
*/
/* CRC RevEng, an arbitrary-precision CRC calculator and algorithm finder
@ -21,7 +21,8 @@
* along with CRC RevEng. If not, see <http://www.gnu.org/licenses/>.
*/
/* 2015-04-03: added direct mode to strtop()
/* 2015-07-29: discard leading $, &, 0x from argument to strtop()
* 2015-04-03: added direct mode to strtop()
* 2014-01-11: added LOFS(), RNDUP()
* 2013-09-16: SIZE(), IDX(), OFS() macros bitshift if BMP_POF2
* 2013-02-07: conditional non-2^n fix, pmpar() return mask constant type
@ -211,6 +212,15 @@ strtop(const char *string, int flags, int bperhx) {
if(bperhx > BMP_BIT || bperhx <= 0 || string == NULL || *string == '\0')
return(poly);
if(~flags & P_DIRECT) {
if(*string == '$' || *string == '&')
++string;
else if(*string == '0'
&& (string[1] == 'x' || string[1] == 'X'))
string += 2;
}
length = (*string != '\0');
for(pass=0; pass<2 && length > 0UL; ++pass) {
s = string;
length = 0UL;