diff options
author | asami <asami@FreeBSD.org> | 1996-01-13 17:54:53 +0800 |
---|---|---|
committer | asami <asami@FreeBSD.org> | 1996-01-13 17:54:53 +0800 |
commit | d143f3c80e24cc44a52d218b216c3f9fdfa0e82e (patch) | |
tree | 8cd9d17013eb3848fa1c12fbb37da11543d4f422 /comms/hylafax/files | |
parent | d462aecbeaf04d990617a65785a0a3c967a463a1 (diff) | |
download | freebsd-ports-gnome-d143f3c80e24cc44a52d218b216c3f9fdfa0e82e.tar.gz freebsd-ports-gnome-d143f3c80e24cc44a52d218b216c3f9fdfa0e82e.tar.zst freebsd-ports-gnome-d143f3c80e24cc44a52d218b216c3f9fdfa0e82e.zip |
Upgrade one file from the author.
Submitted by: Lars Fredriksen <lars@mcs.com>
Diffstat (limited to 'comms/hylafax/files')
-rw-r--r-- | comms/hylafax/files/patch-ad | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/comms/hylafax/files/patch-ad b/comms/hylafax/files/patch-ad new file mode 100644 index 000000000000..1dc3eb71b51d --- /dev/null +++ b/comms/hylafax/files/patch-ad @@ -0,0 +1,102 @@ +*** 1.14 1995/04/08 21:29:53 +--- faxd/ClassModem.c++ 1995/06/21 14:44:41 +*************** +*** 910,915 **** +--- 910,919 ---- + * the syntax specified in the "standard". Try looking + * at some of the responses given by rev ~4.04 of the + * ZyXEL firmware (for example)! ++ * ++ * NB: We accept alphanumeric items but don't return them ++ * in the parsed range so that modems like the ZyXEL 2864 ++ * that indicate they support ``Class Z'' are handled. + */ + fxBool + ClassModem::vparseRange(const char* cp, int nargs ... ) +*************** +*** 926,935 **** + matchc = CPAREN; + acceptList = TRUE; + cp++; +! } else if (isdigit(cp[0])) { // <item> + matchc = COMMA; + acceptList = (nargs == 0); +! } else { + b = FALSE; + break; + } +--- 930,939 ---- + matchc = CPAREN; + acceptList = TRUE; + cp++; +! } else if (isalnum(cp[0])) { // <item> + matchc = COMMA; + acceptList = (nargs == 0); +! } else { // skip to comma + b = FALSE; + break; + } +*************** +*** 939,952 **** + cp++; + continue; + } +! if (!isdigit(cp[0])) { + b = FALSE; + goto done; + } +! int v = 0; +! do { +! v = v*10 + (cp[0] - '0'); +! } while (isdigit((++cp)[0])); + int r = v; + if (cp[0] == '-') { // <low>-<high> + cp++; +--- 943,963 ---- + cp++; + continue; + } +! if (!isalnum(cp[0])) { + b = FALSE; + goto done; + } +! int v; +! if (isdigit(cp[0])) { +! v = 0; +! do { +! v = v*10 + (cp[0] - '0'); +! } while (isdigit((++cp)[0])); +! } else { +! v = -1; // XXX skip item below +! while (isalnum((++cp)[0])) +! ; +! } + int r = v; + if (cp[0] == '-') { // <low>-<high> + cp++; +*************** +*** 964,972 **** + cp++; + v++, r++; // XXX 2.0 -> 3 + } +! // expand range or list +! for (; v <= r; v++) +! mask |= 1<<v; + if (acceptList && cp[0] == COMMA) // (<item>,<item>...) + cp++; + } +--- 975,984 ---- + cp++; + v++, r++; // XXX 2.0 -> 3 + } +! if (v != -1) { // expand range or list +! for (; v <= r; v++) +! mask |= 1<<v; +! } + if (acceptList && cp[0] == COMMA) // (<item>,<item>...) + cp++; + } + + + + |