From: Heikki Linnakangas Date: Mon, 13 Jan 2014 13:42:35 +0000 (+0200) Subject: Fix calculation of ISMN check digit. X-Git-Tag: REL9_2_7~44 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f6d6b42f2b1a9cbc5d1a8eb0c0d76eb27eecc0e2;p=postgresql Fix calculation of ISMN check digit. This has always been broken, so back-patch to all supported versions. Fabien COELHO --- diff --git a/contrib/isn/isn.c b/contrib/isn/isn.c index 181bbd4072..c7e96022eb 100644 --- a/contrib/isn/isn.c +++ b/contrib/isn/isn.c @@ -827,7 +827,7 @@ string2ean(const char *str, bool errorOK, ean13 *result, case ISMN: strncpy(buf, "9790", 4); /* this isn't for sure yet, for now * ISMN it's only 9790 */ - valid = (valid && ((rcheck = checkdig(buf + 3, 10)) == check || magic)); + valid = (valid && ((rcheck = checkdig(buf, 13)) == check || magic)); break; case ISBN: strncpy(buf, "978", 3);