[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 10/13: [libbib]: Partially boolify.
From: |
G. Branden Robinson |
Subject: |
[groff] 10/13: [libbib]: Partially boolify. |
Date: |
Sat, 11 Sep 2021 16:20:13 -0400 (EDT) |
gbranden pushed a commit to branch master
in repository groff.
commit 1b0c69a61247dda8d1835c3a68523fb7ea1bb4dd
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sun Sep 12 05:11:45 2021 +1000
[libbib]: Partially boolify.
* src/include/search.h:
* src/libs/libbib/index.cpp:
* src/preproc/refer/refer.cpp:
* src/utils/lkbib/lkbib.cpp:
* src/utils/lookbib/lookbib.cpp: Demote `verify_flag` from an `int` to a
`bool`, rename it to `do_verify`, use Boolean instead of integer
literals with it, and update call sites.
* src/libs/libbib/index.cpp: Rename `do_verify()` member function to
`get_invalidity_reason()` (it returns a string). Demote `load()` from
`int` to `bool`; do the same for `verify()` and rename it to
`is_valid()` as well. Use Boolean instead of integer literals with
them.
(index_search_item::is_valid, make_index_search_item): Update call
sites of renamed member functions.
---
ChangeLog | 20 +++++++++++++++++
src/include/search.h | 9 ++++++--
src/libs/libbib/index.cpp | 51 ++++++++++++++++++++++++-------------------
src/preproc/refer/refer.cpp | 2 +-
src/utils/lkbib/lkbib.cpp | 2 +-
src/utils/lookbib/lookbib.cpp | 2 +-
6 files changed, 58 insertions(+), 28 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a1b489a..33ff105 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,25 @@
2021-09-12 G. Branden Robinson <g.branden.robinson@gmail.com>
+ [libbib]: Partially boolify.
+
+ * src/include/search.h:
+ * src/libs/libbib/index.cpp:
+ * src/preproc/refer/refer.cpp:
+ * src/utils/lkbib/lkbib.cpp:
+ * src/utils/lookbib/lookbib.cpp: Demote `verify_flag` from an
+ `int` to a `bool`, rename it to `do_verify`, use Boolean
+ instead of integer literals with it, and update call sites.
+
+ * src/libs/libbib/index.cpp: Rename `do_verify()` member
+ function to `get_invalidity_reason()` (it returns a string).
+ Demote `load()` from `int` to `bool`; do the same for `verify()`
+ and rename it to `is_valid()` as well. Use Boolean instead of
+ integer literals with them.
+ (index_search_item::is_valid, make_index_search_item): Update
+ call sites of renamed member functions.
+
+2021-09-12 G. Branden Robinson <g.branden.robinson@gmail.com>
+
* src/libs/libbib/map.c (mapread): Compare return value of
`mmap()` to `MAP_FAILED` instead of `(char *)-1`. `MAP_FAILED`
is documented in POSIX Issue 5 a.k.a. SUSv2
diff --git a/src/include/search.h b/src/include/search.h
index 466f448..eb9a039 100644
--- a/src/include/search.h
+++ b/src/include/search.h
@@ -1,4 +1,3 @@
-// -*- C++ -*-
/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -92,4 +91,10 @@ search_item *make_linear_search_item(int fd, const char
*filename, int fid);
extern int linear_truncate_len;
extern const char *linear_ignore_fields;
-extern int verify_flag;
+extern bool do_verify;
+
+// Local Variables:
+// fill-column: 72
+// mode: C++
+// End:
+// vim: set cindent noexpandtab shiftwidth=2 textwidth=72:
diff --git a/src/libs/libbib/index.cpp b/src/libs/libbib/index.cpp
index f2eff6b..93fcc3d 100644
--- a/src/libs/libbib/index.cpp
+++ b/src/libs/libbib/index.cpp
@@ -1,4 +1,3 @@
-// -*- C++ -*-
/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -46,7 +45,7 @@ const
#endif
int minus_one = -1;
-int verify_flag = 0;
+bool do_verify = false;
struct word_list;
@@ -68,7 +67,7 @@ class index_search_item : public search_item {
const char *ignore_fields;
time_t mtime;
- const char *do_verify();
+ const char *get_invalidity_reason();
const int *search1(const char **pp, const char *end);
const int *search(const char *ptr, int length, int **temp_listp);
const char *munge_filename(const char *);
@@ -77,9 +76,9 @@ class index_search_item : public search_item {
public:
index_search_item(const char *, int);
~index_search_item();
- int load(int fd);
+ bool load(int fd);
search_item_iterator *make_search_item_iterator(const char *);
- int verify();
+ bool is_valid();
void check_files();
int next_filename_id() const;
friend class index_search_item_iterator;
@@ -139,28 +138,28 @@ public:
file_closer(int &fd) : fdp(&fd) { }
~file_closer() { close(*fdp); }
};
-
+
// Tell the compiler that a variable is intentionally unused.
inline void unused(void *) { }
-int index_search_item::load(int fd)
+bool index_search_item::load(int fd)
{
file_closer fd_closer(fd); // close fd on return
unused(&fd_closer);
struct stat sb;
if (fstat(fd, &sb) < 0) {
error("can't fstat '%1': %2", name, strerror(errno));
- return 0;
+ return false;
}
if (!S_ISREG(sb.st_mode)) {
error("'%1' is not a regular file", name);
- return 0;
+ return false;
}
mtime = sb.st_mtime;
int size = int(sb.st_size);
if (size == 0) {
error("'%1' is an empty file", name);
- return 0;
+ return false;
}
char *addr;
map_addr = mapread(fd, size);
@@ -172,7 +171,7 @@ int index_search_item::load(int fd)
addr = buffer = (char *)malloc(size);
if (buffer == 0) {
error("can't allocate buffer for '%1'", name);
- return 0;
+ return false;
}
char *ptr = buffer;
int bytes_to_read = size;
@@ -180,11 +179,11 @@ int index_search_item::load(int fd)
int nread = read(fd, ptr, bytes_to_read);
if (nread == 0) {
error("unexpected EOF on '%1'", name);
- return 0;
+ return false;
}
if (nread < 0) {
error("read error on '%1': %2", name, strerror(errno));
- return 0;
+ return false;
}
bytes_to_read -= nread;
ptr += nread;
@@ -193,12 +192,12 @@ int index_search_item::load(int fd)
header = *(index_header *)addr;
if (header.magic != INDEX_MAGIC) {
error("'%1' is not an index file: wrong magic number", name);
- return 0;
+ return false;
}
if (header.version != INDEX_VERSION) {
error("version number in '%1' is wrong: was %2, should be %3",
name, header.version, INDEX_VERSION);
- return 0;
+ return false;
}
int sz = (header.tags_size * sizeof(tag)
+ header.lists_size * sizeof(int)
@@ -208,7 +207,7 @@ int index_search_item::load(int fd)
if (sz != size) {
error("size of '%1' is wrong: was %2, should be %3",
name, size, sz);
- return 0;
+ return false;
}
tags = (tag *)(addr + sizeof(header));
lists = (int *)(tags + header.tags_size);
@@ -217,10 +216,10 @@ int index_search_item::load(int fd)
ignore_fields = strchr(strchr(pool, '\0') + 1, '\0') + 1;
key_buffer = new char[header.truncate];
read_common_words_file();
- return 1;
+ return true;
}
-const char *index_search_item::do_verify()
+const char *index_search_item::get_invalidity_reason()
{
if (tags == 0)
return "not loaded";
@@ -253,13 +252,13 @@ const char *index_search_item::do_verify()
return 0;
}
-int index_search_item::verify()
+bool index_search_item::is_valid()
{
- const char *reason = do_verify();
+ const char *reason = get_invalidity_reason();
if (!reason)
- return 1;
+ return true;
error("'%1' is bad: %2", name, reason);
- return 0;
+ return false;
}
int index_search_item::next_filename_id() const
@@ -288,7 +287,7 @@ search_item *make_index_search_item(const char *filename,
int fid)
delete item;
return 0;
}
- else if (verify_flag && !item->verify()) {
+ else if (do_verify && !item->is_valid()) {
delete item;
return 0;
}
@@ -640,3 +639,9 @@ void index_search_item::check_files()
}
}
}
+
+// Local Variables:
+// fill-column: 72
+// mode: C++
+// End:
+// vim: set cindent noexpandtab shiftwidth=2 textwidth=72:
diff --git a/src/preproc/refer/refer.cpp b/src/preproc/refer/refer.cpp
index 5cf05c2..3fb2175 100644
--- a/src/preproc/refer/refer.cpp
+++ b/src/preproc/refer/refer.cpp
@@ -161,7 +161,7 @@ int main(int argc, char **argv)
opt++;
break;
case 'V':
- verify_flag = 1;
+ do_verify = true;
opt++;
break;
case 'f':
diff --git a/src/utils/lkbib/lkbib.cpp b/src/utils/lkbib/lkbib.cpp
index 13293c4..6d91956 100644
--- a/src/utils/lkbib/lkbib.cpp
+++ b/src/utils/lkbib/lkbib.cpp
@@ -55,7 +55,7 @@ int main(int argc, char **argv)
!= EOF)
switch (opt) {
case 'V':
- verify_flag = 1;
+ do_verify = true;
break;
case 'n':
search_default = 0;
diff --git a/src/utils/lookbib/lookbib.cpp b/src/utils/lookbib/lookbib.cpp
index 9f1fb53..d8865b4 100644
--- a/src/utils/lookbib/lookbib.cpp
+++ b/src/utils/lookbib/lookbib.cpp
@@ -56,7 +56,7 @@ int main(int argc, char **argv)
while ((opt = getopt_long(argc, argv, "vVi:t:", long_options, NULL)) != EOF)
switch (opt) {
case 'V':
- verify_flag = 1;
+ do_verify = true;
break;
case 'i':
linear_ignore_fields = optarg;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 10/13: [libbib]: Partially boolify.,
G. Branden Robinson <=