X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=lib.h;fp=lib.h;h=0239dcb3fb73228944a9989029ca4f161d7babfe;hb=63fd24efd774f1ed3f5dab82b934f35b7b039557;hp=0000000000000000000000000000000000000000;hpb=acce03bb32917e21f2d1d49c5a460d3cd2f72a11;p=plocate diff --git a/lib.h b/lib.h new file mode 100644 index 0000000..0239dcb --- /dev/null +++ b/lib.h @@ -0,0 +1,49 @@ +/* Common functions. + +Copyright (C) 2005, 2007 Red Hat, Inc. All rights reserved. +This copyrighted material is made available to anyone wishing to use, modify, +copy, or redistribute it subject to the terms and conditions of the GNU General +Public License v.2. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of 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. + +Author: Miloslav Trmac + +plocate modifications: Copyright (C) 2020 Steinar H. Gunderson. +plocate parts and modifications are licensed under the GPLv2 or, at your option, +any later version. +*/ + +#ifndef LIB_H__ +#define LIB_H__ + +#include +#include +#include +#include +#include +#include + +#define _(X) (X) + +/* Compare two path names using the database directory order. This is not + exactly strcmp () order: "a" < "a.b", so "a/z" < "a.b". */ +extern int dir_path_cmp(const std::string &a, const std::string &b); + +/* Sort LIST using dir_path_cmp () */ +extern void string_list_dir_path_sort(std::vector *list); + +/* Is PATH included in LIST? Update *IDX to move within LIST. + + LIST is assumed to be sorted using dir_path_cmp (), successive calls to this + function are assumed to use PATH values increasing in dir_path_cmp (). */ +extern bool string_list_contains_dir_path(const std::vector *list, + size_t *idx, const std::string &path); + +#endif