From: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
To: linux-sparse@vger.kernel.org
Cc: Ben Dooks <ben.dooks@codethink.co.uk>,
Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Subject: [PATCH 6/8] s/data/type/ for struct format_type
Date: Mon, 5 Oct 2020 04:00:00 +0200 [thread overview]
Message-ID: <20201005020002.1108-7-luc.vanoostenryck@gmail.com> (raw)
In-Reply-To: <20201005020002.1108-1-luc.vanoostenryck@gmail.com>
The name of the field 'data' in struct format_type seems to indicate
that it can contain arbitrary untyped stuff but it's a 'struct symbol'
pointer and always contains the expected type of the argument.
So use a more specific name for it 'type'.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
---
verify-format.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/verify-format.c b/verify-format.c
index 2eaba6653686..95ff524c03cf 100644
--- a/verify-format.c
+++ b/verify-format.c
@@ -51,7 +51,7 @@ struct format_type {
struct symbol *ctype,
struct symbol **target,
const char **typediff);
- struct symbol *data;
+ struct symbol *type;
};
struct format_state {
@@ -67,7 +67,7 @@ static int printf_fmt_numtype(struct format_type *fmt,
struct symbol *ctype,
struct symbol **target, const char **typediff)
{
- struct symbol *type = fmt->data;
+ struct symbol *type = fmt->type;
*target = type;
return check_assignment_types(*target, expr, typediff);
}
@@ -133,7 +133,7 @@ static struct format_type *parse_printf_get_fmt(struct format_type *type,
} else if (*ptr == 'c') {
ptr++;
type->test = printf_fmt_numtype;
- type->data = &char_ctype;
+ type->type = &char_ctype;
} else if (*ptr == 'p') {
ptr++;
type->test = printf_fmt_print_pointer;
@@ -152,12 +152,12 @@ static struct format_type *parse_printf_get_fmt(struct format_type *type,
if (*ptr == 'd' || *ptr == 'i') {
ptr++;
type->test = printf_fmt_numtype;
- type->data = ssize_t_ctype;
+ type->type = ssize_t_ctype;
} else if (*ptr == 'u' || *ptr == 'x' || *ptr == 'X' ||
*ptr == 'o') {
ptr++;
type->test = printf_fmt_numtype;
- type->data = size_t_ctype;
+ type->type = size_t_ctype;
}
} else {
if (*ptr == 'l') {
@@ -190,16 +190,16 @@ static struct format_type *parse_printf_get_fmt(struct format_type *type,
type->test = printf_fmt_numtype;
switch (szmod) {
case -1:
- type->data = &ushort_ctype;
+ type->type = &ushort_ctype;
break;
case 0:
- type->data = &uint_ctype;
+ type->type = &uint_ctype;
break;
case 1:
- type->data = &ulong_ctype;
+ type->type = &ulong_ctype;
break;
case 2:
- type->data = &ullong_ctype;
+ type->type = &ullong_ctype;
break;
default:
type->test = NULL;
@@ -209,27 +209,27 @@ static struct format_type *parse_printf_get_fmt(struct format_type *type,
type->test = printf_fmt_numtype;
switch (szmod) {
case -1:
- type->data = &short_ctype;
+ type->type = &short_ctype;
break;
case 0:
- type->data = &int_ctype;
+ type->type = &int_ctype;
break;
case 1:
- type->data = &long_ctype;
+ type->type = &long_ctype;
break;
case 2:
- type->data = &llong_ctype;
+ type->type = &llong_ctype;
break;
default:
type->test = NULL;
}
} else if (*ptr == 'L' && is_float_spec(ptr[1])) {
type->test = printf_fmt_numtype;
- type->data = &ldouble_ctype;
+ type->type = &ldouble_ctype;
ptr += 2;
} else if (is_float_spec(*ptr)) {
type->test = printf_fmt_numtype;
- type->data = szmod == 1 ? &ldouble_ctype : &double_ctype;
+ type->type = szmod == 1 ? &ldouble_ctype : &double_ctype;
ptr++;
} else if (*ptr == 'n') { /* pointer to an de-referenced int/etc */
// todo - we should construct pointer to int/etc //
--
2.28.0
next prev parent reply other threads:[~2020-10-05 2:00 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-05 1:59 [PATCH 0/8] format check tweaks Luc Van Oostenryck
2020-10-05 1:59 ` [PATCH 1/8] need to strip SYM_NODE before comparing types Luc Van Oostenryck
2020-10-05 1:59 ` [PATCH 2/8] add helper get_nth_expression() Luc Van Oostenryck
2020-10-05 1:59 ` [PATCH 3/8] move the definition of FMT_{PRINTF,SCANF} Luc Van Oostenryck
2020-10-05 1:59 ` [PATCH 4/8] parse format attribute less verbosely Luc Van Oostenryck
2020-10-05 1:59 ` [PATCH 5/8] call verify_format_attribute() unconditionally Luc Van Oostenryck
2020-10-05 2:00 ` Luc Van Oostenryck [this message]
2020-10-05 2:00 ` [PATCH 7/8] add support for "%ls" Luc Van Oostenryck
2020-10-05 2:00 ` [PATCH 8/8] add support for "%Lx" (and "%Ls") Luc Van Oostenryck
2020-10-05 9:04 ` [PATCH 0/8] format check tweaks Ben Dooks
2020-10-05 23:47 ` Luc Van Oostenryck
2020-10-11 19:51 ` Ben Dooks
2020-10-12 22:38 ` Luc Van Oostenryck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201005020002.1108-7-luc.vanoostenryck@gmail.com \
--to=luc.vanoostenryck@gmail.com \
--cc=ben.dooks@codethink.co.uk \
--cc=linux-sparse@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox