X-Git-Url: https://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ffstrcmp.h;h=e2f72fd54bf48fc655dc66de38e1307ed2a91c94;hb=98171ec274fdcd518baf812ad0dd8933d2eee8ee;hp=4671c55d07168eeb2c30970e78f30007003ffa16;hpb=76eb5db6bb71874428b959b90f167040d4b54200;p=gnulib.git diff --git a/lib/fstrcmp.h b/lib/fstrcmp.h index 4671c55d0..e2f72fd54 100644 --- a/lib/fstrcmp.h +++ b/lib/fstrcmp.h @@ -1,12 +1,13 @@ /* Fuzzy string comparison. - Copyright (C) 1995, 2000, 2002-2003, 2006 Free Software Foundation, Inc. + Copyright (C) 1995, 2000, 2002-2003, 2006, 2008-2013 Free Software + Foundation, Inc. This file was written by Peter Miller -This program is free software; you can redistribute it and/or modify +This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. +the Free Software Foundation; either version 3 of the License, or +(at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -14,8 +15,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software Foundation, -Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +along with this program. If not, see . */ #ifndef _FSTRCMP_H #define _FSTRCMP_H @@ -25,9 +25,19 @@ extern "C" { #endif /* Fuzzy compare of S1 and S2. Return a measure for the similarity of S1 - and S1. The higher the result, the more similar the strings are. */ + and S1. The higher the result, the more similar the strings are. + The result is bounded between 0 (meaning very dissimilar strings) and + 1 (meaning identical strings). */ extern double fstrcmp (const char *s1, const char *s2); +/* Like fstrcmp (S1, S2), except that if the result is < LOWER_BOUND, an + arbitrary other value < LOWER_BOUND can be returned. */ +extern double fstrcmp_bounded (const char *s1, const char *s2, + double lower_bound); + +/* A shortcut for fstrcmp. Avoids a function call. */ +#define fstrcmp(s1,s2) fstrcmp_bounded (s1, s2, 0.0) + #ifdef __cplusplus } #endif