[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 122/127: Slightly refactor.
From: |
G. Branden Robinson |
Subject: |
[groff] 122/127: Slightly refactor. |
Date: |
Mon, 10 Jul 2023 04:31:09 -0400 (EDT) |
gbranden pushed a commit to branch master
in repository groff.
commit 411b42f4eca4f18c106c91c0b055c5a4dd294d5d
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Fri Jun 2 18:41:20 2023 -0500
Slightly refactor.
[grodvi, grops, xditview, libbib, libgroff, eqn, pre-grohtml, preconv,
refer, troff, tfmtodit]: Store return value of `strlen()` in a `size_t`
(or `ptrdiff_t` if we're performing subtraction on it) instead of an
`int`. Change temporaries (loop indices and similar) to use the same
types.
* src/devices/grodvi/dvi.cpp (dvi_printer::do_special):
* src/devices/grops/ps.cpp (ps_output::comment_arg):
(ps_output::put_string, ps_output::put_number, ps_output::put_float)
(ps_output::put_color):
* src/devices/grops/ps.cpp (class ps_output) <put_string, col>:
<max_line_length>:
* src/devices/xditview/Dvi.c (ClassInitialize):
* src/include/symbol.h (class symbol) <block_size>:
* src/libs/libbib/index.cpp (index_search_item::munge_filename):
(index_search_item::search_item):
* src/libs/libgroff/fontfile.cpp (font::open_file):
* src/libs/libgroff/string.cpp (string::operator=, string::operator+):
* src/libs/libgroff/symbol.cpp (symbol::symbol, symbol::block_size):
* src/preproc/eqn/delim.cpp (define_extensible_string):
* src/preproc/html/pre-html.cpp (char_buffer::can_see):
* src/preproc/html/pushback.cpp (pushBackBuffer::isString):
* src/preproc/preconv/preconv.cpp (emacs2mine):
* src/preproc/refer/label.ypp (format_expr::evaluate):
* src/roff/troff/input.cpp (make_temp_iterator, pipe_source):
* src/utils/tfmtodit/tfmtodit.cpp (main): Do it.
* src/preproc/html/pushback.cpp (pushBackBuffer::isString): Drop `while`
loop that is now tautologically true due to comparison of unsigned
types.
Also update editor aid comments; drop old style Emacs file-local
variable setting.
---
ChangeLog | 37 +++++++++++++++++++++++++++++++++++++
src/devices/grodvi/dvi.cpp | 2 +-
src/devices/grops/ps.cpp | 20 ++++++++++----------
src/devices/grops/ps.h | 13 +++++++++----
src/devices/xditview/Dvi.c | 6 +++---
src/include/symbol.h | 2 +-
src/libs/libbib/index.cpp | 4 ++--
src/libs/libgroff/fontfile.cpp | 5 +++--
src/libs/libgroff/string.cpp | 4 ++--
src/libs/libgroff/symbol.cpp | 11 ++++++++---
src/preproc/eqn/delim.cpp | 2 +-
src/preproc/html/pre-html.cpp | 4 ++--
src/preproc/html/pushback.cpp | 11 ++++-------
src/preproc/preconv/preconv.cpp | 2 +-
src/preproc/refer/label.ypp | 2 +-
src/roff/troff/input.cpp | 10 +++++-----
src/utils/tfmtodit/tfmtodit.cpp | 2 +-
17 files changed, 91 insertions(+), 46 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d1a3cde19..835a9054e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,40 @@
+2023-06-02 G. Branden Robinson <g.branden.robinson@gmail.com>
+
+ Slightly refactor.
+
+ [grodvi, grops, xditview, libbib, libgroff, eqn, pre-grohtml,
+ preconv, refer, troff, tfmtodit]: Store return value of
+ `strlen()` in a `size_t` (or `ptrdiff_t` if we're performing
+ subtraction on it) instead of an `int`. Change temporaries
+ {loop indices and similar} to use the same types.
+
+ * src/devices/grodvi/dvi.cpp (dvi_printer::do_special):
+ * src/devices/grops/ps.cpp (ps_output::comment_arg):
+ (ps_output::put_string, ps_output::put_number):
+ (ps_output::put_float, ps_output::put_color):
+ * src/devices/grops/ps.cpp (class ps_output) <put_string, col>:
+ <max_line_length>:
+ * src/devices/xditview/Dvi.c (ClassInitialize):
+ * src/include/symbol.h (class symbol) <block_size>:
+ * src/libs/libbib/index.cpp (index_search_item::munge_filename):
+ (index_search_item::search_item):
+ * src/libs/libgroff/fontfile.cpp (font::open_file):
+ * src/libs/libgroff/string.cpp (string::operator=):
+ (string::operator+):
+ * src/libs/libgroff/symbol.cpp (symbol::symbol):
+ (symbol::block_size):
+ * src/preproc/eqn/delim.cpp (define_extensible_string):
+ * src/preproc/html/pre-html.cpp (char_buffer::can_see):
+ * src/preproc/html/pushback.cpp (pushBackBuffer::isString):
+ * src/preproc/preconv/preconv.cpp (emacs2mine):
+ * src/preproc/refer/label.ypp (format_expr::evaluate):
+ * src/roff/troff/input.cpp (make_temp_iterator, pipe_source):
+ * src/utils/tfmtodit/tfmtodit.cpp (main): Do it.
+
+ * src/preproc/html/pushback.cpp (pushBackBuffer::isString): Drop
+ `while` loop that is now tautologically true due to comparison
+ of unsigned types.
+
2023-05-30 G. Branden Robinson <g.branden.robinson@gmail.com>
* src/roff/troff/env.cpp (font_change): Trivially refactor.
diff --git a/src/devices/grodvi/dvi.cpp b/src/devices/grodvi/dvi.cpp
index f9e8a5769..8e285ea30 100644
--- a/src/devices/grodvi/dvi.cpp
+++ b/src/devices/grodvi/dvi.cpp
@@ -542,7 +542,7 @@ void draw_dvi_printer::end_page(int len)
void dvi_printer::do_special(const char *s)
{
- int len = strlen(s);
+ size_t len = strlen(s);
if (len == 0)
return;
possibly_begin_line();
diff --git a/src/devices/grops/ps.cpp b/src/devices/grops/ps.cpp
index 807945f97..d2b608d61 100644
--- a/src/devices/grops/ps.cpp
+++ b/src/devices/grops/ps.cpp
@@ -169,7 +169,7 @@ ps_output &ps_output::end_comment()
ps_output &ps_output::comment_arg(const char *s)
{
- int len = strlen(s);
+ size_t len = strlen(s);
if (col + len + 1 > max_line_length) {
putc('\n', fp);
fputs("%%+", fp);
@@ -200,10 +200,10 @@ ps_output &ps_output::put_delimiter(char c)
return *this;
}
-ps_output &ps_output::put_string(const char *s, int n)
+ps_output &ps_output::put_string(const char *s, size_t n)
{
- int len = 0;
- int i;
+ size_t len = 0;
+ size_t i;
for (i = 0; i < n; i++) {
char c = s[i];
if (is_ascii(c) && csprint(c)) {
@@ -290,7 +290,7 @@ ps_output &ps_output::put_number(int n)
{
char buf[1 + INT_DIGITS + 1];
sprintf(buf, "%d", n);
- int len = strlen(buf);
+ size_t len = strlen(buf);
if (col > 0 && col + len + need_space > max_line_length) {
putc('\n', fp);
col = 0;
@@ -309,7 +309,7 @@ ps_output &ps_output::put_number(int n)
ps_output &ps_output::put_fix_number(int i)
{
const char *p = if_to_a(i, fixed_point);
- int len = strlen(p);
+ size_t len = strlen(p);
if (col > 0 && col + len + need_space > max_line_length) {
putc('\n', fp);
col = 0;
@@ -329,7 +329,7 @@ ps_output &ps_output::put_float(double d)
{
char buf[128];
sprintf(buf, "%.4f", d);
- int last = strlen(buf) - 1;
+ ptrdiff_t last = strlen(buf) - 1;
while (buf[last] == '0')
last--;
if (buf[last] == '.')
@@ -352,7 +352,7 @@ ps_output &ps_output::put_float(double d)
ps_output &ps_output::put_symbol(const char *s)
{
- int len = strlen(s);
+ size_t len = strlen(s);
if (col > 0 && col + len + need_space > max_line_length) {
putc('\n', fp);
col = 0;
@@ -372,7 +372,7 @@ ps_output &ps_output::put_color(unsigned int c)
{
char buf[128];
sprintf(buf, "%.3g", double(c) / double(color::MAX_COLOR_VAL));
- int len = strlen(buf);
+ size_t len = strlen(buf);
if (col > 0 && col + len + need_space > max_line_length) {
putc('\n', fp);
col = 0;
@@ -390,7 +390,7 @@ ps_output &ps_output::put_color(unsigned int c)
ps_output &ps_output::put_literal_symbol(const char *s)
{
- int len = strlen(s);
+ size_t len = strlen(s);
if (col > 0 && col + len + 1 > max_line_length) {
putc('\n', fp);
col = 0;
diff --git a/src/devices/grops/ps.h b/src/devices/grops/ps.h
index 5cef694f0..d2e0fb347 100644
--- a/src/devices/grops/ps.h
+++ b/src/devices/grops/ps.h
@@ -1,4 +1,3 @@
-// -*- C++ -*-
/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -20,7 +19,7 @@ along with this program. If not, see
<http://www.gnu.org/licenses/>. */
class ps_output {
public:
ps_output(FILE *, int max_line_length);
- ps_output &put_string(const char *, int);
+ ps_output &put_string(const char *, size_t n);
ps_output &put_number(int);
ps_output &put_fix_number(int);
ps_output &put_float(double);
@@ -41,8 +40,8 @@ public:
FILE *get_file();
private:
FILE *fp;
- int col;
- int max_line_length; // not including newline
+ size_t col;
+ size_t max_line_length; // not including newline
int need_space;
int fixed_point;
};
@@ -127,3 +126,9 @@ enum {
#include "searchpath.h"
extern search_path include_search_path;
+
+// Local Variables:
+// fill-column: 72
+// mode: C++
+// End:
+// vim: set cindent noexpandtab shiftwidth=2 textwidth=72:
diff --git a/src/devices/xditview/Dvi.c b/src/devices/xditview/Dvi.c
index 3520676ff..bc62386cd 100644
--- a/src/devices/xditview/Dvi.c
+++ b/src/devices/xditview/Dvi.c
@@ -165,9 +165,9 @@ WidgetClass dviWidgetClass = (WidgetClass) &dviClassRec;
static void ClassInitialize (void)
{
- int len1 = strlen(default_font_map_1);
- int len2 = strlen(default_font_map_2);
- int len3 = strlen(default_font_map_3);
+ size_t len1 = strlen(default_font_map_1);
+ size_t len2 = strlen(default_font_map_2);
+ size_t len3 = strlen(default_font_map_3);
char *dfm = XtMalloc(len1 + len2 + len3 + 1);
char *ptr = dfm;
strcpy(ptr, default_font_map_1); ptr += len1;
diff --git a/src/include/symbol.h b/src/include/symbol.h
index 047255d3b..bafee4c9a 100644
--- a/src/include/symbol.h
+++ b/src/include/symbol.h
@@ -26,7 +26,7 @@ class symbol {
static int table_used;
static int table_size;
static char *block;
- static int block_size;
+ static size_t block_size;
const char *s;
public:
symbol(const char *p, int how = 0);
diff --git a/src/libs/libbib/index.cpp b/src/libs/libbib/index.cpp
index aebcbbfdd..0664746ae 100644
--- a/src/libs/libbib/index.cpp
+++ b/src/libs/libbib/index.cpp
@@ -61,7 +61,7 @@ class index_search_item : public search_item {
char *pool;
char *key_buffer;
char *filename_buffer;
- int filename_buflen;
+ size_t filename_buflen;
char **common_words_table;
int common_words_table_size;
const char *ignore_fields;
@@ -486,7 +486,7 @@ const char *index_search_item::munge_filename(const char
*filename)
const char *cwd = pool;
int need_slash = (cwd[0] != 0
&& strchr(DIR_SEPS, strchr(cwd, '\0')[-1]) == 0);
- int len = strlen(cwd) + strlen(filename) + need_slash + 1;
+ size_t len = strlen(cwd) + strlen(filename) + need_slash + 1;
if (len > filename_buflen) {
delete[] filename_buffer;
filename_buflen = len;
diff --git a/src/libs/libgroff/fontfile.cpp b/src/libs/libgroff/fontfile.cpp
index 898797146..1c2fe027d 100644
--- a/src/libs/libgroff/fontfile.cpp
+++ b/src/libs/libgroff/fontfile.cpp
@@ -62,9 +62,10 @@ FILE *font::open_file(const char *nm, char **pathp)
// Do not traverse user-specified directories; Savannah #61424.
if (0 /* nullptr */ == strchr(nm, '/')) {
// Allocate enough for nm + device + 'dev' '/' '\0'.
- int expected_size = strlen(nm) + strlen(device) + 5;
+ size_t expected_size = strlen(nm) + strlen(device) + 5;
char *filename = new char[expected_size];
- const int actual_size = sprintf(filename, "dev%s/%s", device, nm);
+ const size_t actual_size = sprintf(filename, "dev%s/%s", device,
+ nm);
expected_size--; // sprintf() doesn't count the null terminator.
if (actual_size == expected_size)
fp = font_path.open_file(filename, pathp);
diff --git a/src/libs/libgroff/string.cpp b/src/libs/libgroff/string.cpp
index 33c0565c2..a939b24d6 100644
--- a/src/libs/libgroff/string.cpp
+++ b/src/libs/libgroff/string.cpp
@@ -144,7 +144,7 @@ string &string::operator=(const char *p)
sz = 0;
}
else {
- int slen = strlen(p);
+ size_t slen = strlen(p);
ptr = sfree_alloc(ptr, sz, slen, &sz);
len = slen;
if (len != 0)
@@ -180,7 +180,7 @@ void string::grow1()
string &string::operator+=(const char *p)
{
if (p != 0) {
- int n = strlen(p);
+ size_t n = strlen(p);
int newlen = len + n;
if (newlen > sz)
ptr = srealloc(ptr, sz, len, newlen, &sz);
diff --git a/src/libs/libgroff/symbol.cpp b/src/libs/libgroff/symbol.cpp
index 4f5062741..085f2acda 100644
--- a/src/libs/libgroff/symbol.cpp
+++ b/src/libs/libgroff/symbol.cpp
@@ -1,4 +1,3 @@
-// -*- C++ -*-
/* Copyright (C) 1989-2020 Free Software Foundation, Inc.
Written by James Clark (jjc@jclark.com)
@@ -27,7 +26,7 @@ const char **symbol::table = 0;
int symbol::table_used = 0;
int symbol::table_size = 0;
char *symbol::block = 0;
-int symbol::block_size = 0;
+size_t symbol::block_size = 0;
const symbol NULL_SYMBOL;
const symbol EMPTY_SYMBOL("");
@@ -132,7 +131,7 @@ symbol::symbol(const char *p, int how)
s = *pp = p;
}
else {
- int len = strlen(p)+1;
+ size_t len = strlen(p) + 1;
if (block == 0 || block_size < len) {
block_size = len > BLOCK_SIZE ? len : BLOCK_SIZE;
block = new char [block_size];
@@ -155,3 +154,9 @@ symbol concat(symbol s1, symbol s2)
}
symbol default_symbol("default");
+
+// Local Variables:
+// fill-column: 72
+// mode: C++
+// End:
+// vim: set cindent noexpandtab shiftwidth=2 textwidth=72:
diff --git a/src/preproc/eqn/delim.cpp b/src/preproc/eqn/delim.cpp
index 43cfe4996..56519f188 100644
--- a/src/preproc/eqn/delim.cpp
+++ b/src/preproc/eqn/delim.cpp
@@ -295,7 +295,7 @@ static void define_extensible_string(char *delim, int uid,
{
printf(".ds " DELIM_STRING "\n");
delimiter *d = delim_table;
- int delim_len = strlen(delim);
+ size_t delim_len = strlen(delim);
int i;
for (i = 0; i < DELIM_TABLE_SIZE; i++, d++)
if (strncmp(delim, d->name, delim_len) == 0
diff --git a/src/preproc/html/pre-html.cpp b/src/preproc/html/pre-html.cpp
index 6bfab94b0..537efe3c3 100644
--- a/src/preproc/html/pre-html.cpp
+++ b/src/preproc/html/pre-html.cpp
@@ -702,8 +702,8 @@ void char_buffer::write_upto_newline(char_block **t, int *i,
bool char_buffer::can_see(char_block **t, int *i, const char *str)
{
- int j = 0;
- int l = strlen(str);
+ size_t j = 0;
+ size_t l = strlen(str);
int k = *i;
char_block *s = *t;
diff --git a/src/preproc/html/pushback.cpp b/src/preproc/html/pushback.cpp
index 100ac0bac..f1172ef5b 100644
--- a/src/preproc/html/pushback.cpp
+++ b/src/preproc/html/pushback.cpp
@@ -190,8 +190,8 @@ void pushBackBuffer::skipUntilToken (void)
int pushBackBuffer::isString (const char *s)
{
- int length=strlen(s);
- int i=0;
+ size_t length=strlen(s);
+ size_t i=0;
while ((i<length) && (putPB(getPB())==s[i])) {
if (getPB() != s[i]) {
@@ -203,11 +203,8 @@ int pushBackBuffer::isString (const char *s)
return( TRUE );
} else {
i--;
- while (i>=0) {
- if (putPB(s[i]) != s[i]) {
- ERROR("assert failed");
- }
- i--;
+ if (putPB(s[i]) != s[i]) {
+ ERROR("assert failed");
}
}
return( FALSE );
diff --git a/src/preproc/preconv/preconv.cpp b/src/preproc/preconv/preconv.cpp
index d403425ee..485574dda 100644
--- a/src/preproc/preconv/preconv.cpp
+++ b/src/preproc/preconv/preconv.cpp
@@ -380,7 +380,7 @@ emacs_to_mime[] = {
char *
emacs2mime(char *emacs_enc)
{
- int emacs_enc_len = strlen(emacs_enc);
+ size_t emacs_enc_len = strlen(emacs_enc);
if (emacs_enc_len > 4
&& !strcasecmp(emacs_enc + emacs_enc_len - 4, "-dos"))
emacs_enc[emacs_enc_len - 4] = 0;
diff --git a/src/preproc/refer/label.ypp b/src/preproc/refer/label.ypp
index f5210d573..3536ae503 100644
--- a/src/preproc/refer/label.ypp
+++ b/src/preproc/refer/label.ypp
@@ -521,7 +521,7 @@ void format_expr::evaluate(int tentative, const reference
&ref,
result += format_serial(type, num + 1);
else {
const char *ptr = i_to_a(num + first_number);
- int pad = width - strlen(ptr);
+ ptrdiff_t pad = width - strlen(ptr);
while (--pad >= 0)
result += '0';
result += ptr;
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index ca01569ff..ce5966c86 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -3749,7 +3749,7 @@ input_iterator *make_temp_iterator(const char *s)
if (s == 0)
return new temp_iterator(s, 0);
else {
- int n = strlen(s);
+ size_t n = strlen(s);
return new temp_iterator(s, n);
}
}
@@ -6170,15 +6170,15 @@ void pipe_source()
int c;
while ((c = get_copy(0)) == ' ' || c == '\t')
;
- int buf_size = 24;
+ size_t buf_size = 24;
char *buf = new char[buf_size];
- int buf_used = 0;
+ size_t buf_used = 0;
for (; c != '\n' && c != EOF; c = get_copy(0)) {
const char *s = asciify(c);
- int slen = strlen(s);
+ size_t slen = strlen(s);
if (buf_used + slen + 1> buf_size) {
char *old_buf = buf;
- int old_buf_size = buf_size;
+ size_t old_buf_size = buf_size;
buf_size *= 2;
buf = new char[buf_size];
memcpy(buf, old_buf, old_buf_size);
diff --git a/src/utils/tfmtodit/tfmtodit.cpp b/src/utils/tfmtodit/tfmtodit.cpp
index 300373379..437e47e08 100644
--- a/src/utils/tfmtodit/tfmtodit.cpp
+++ b/src/utils/tfmtodit/tfmtodit.cpp
@@ -764,7 +764,7 @@ int main(int argc, char **argv)
if (special_flag)
fputs("special\n", stdout);
char *internal_name = strsave(argv[optind]);
- int len = strlen(internal_name);
+ size_t len = strlen(internal_name);
if (len > 4 && strcmp(internal_name + len - 4, ".tfm") == 0)
internal_name[len - 4] = '\0';
// DIR_SEPS[] are possible directory separator characters, see
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 122/127: Slightly refactor.,
G. Branden Robinson <=