mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
fix compile_rx_or_error
compile_rx_or_error looks like a constructor, but it can return NULL. This patch changes it to remove the NULL return, making it work like any other cleanup constructor. This is a stylistic patch but I think it is also better for code to follow the normal conventions. * probe.c (collect_probes): Check arguments for NULL before calling compile_rx_or_error. * utils.c (compile_rx_or_error): Require 'rx' to be non-NULL. Remove NULL return.
This commit is contained in:
parent
77f9e71302
commit
db26349c64
@ -1,3 +1,10 @@
|
|||||||
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* probe.c (collect_probes): Check arguments for NULL before
|
||||||
|
calling compile_rx_or_error.
|
||||||
|
* utils.c (compile_rx_or_error): Require 'rx' to be non-NULL.
|
||||||
|
Remove NULL return.
|
||||||
|
|
||||||
2013-05-30 Tom Tromey <tromey@redhat.com>
|
2013-05-30 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* infrun.c (adjust_pc_after_break): Introduce an outer null
|
* infrun.c (adjust_pc_after_break): Introduce an outer null
|
||||||
|
@ -245,9 +245,12 @@ collect_probes (char *objname, char *provider, char *probe_name,
|
|||||||
cleanup = make_cleanup (VEC_cleanup (probe_p), &result);
|
cleanup = make_cleanup (VEC_cleanup (probe_p), &result);
|
||||||
|
|
||||||
cleanup_temps = make_cleanup (null_cleanup, NULL);
|
cleanup_temps = make_cleanup (null_cleanup, NULL);
|
||||||
compile_rx_or_error (&prov_pat, provider, _("Invalid provider regexp"));
|
if (provider != NULL)
|
||||||
compile_rx_or_error (&probe_pat, probe_name, _("Invalid probe regexp"));
|
compile_rx_or_error (&prov_pat, provider, _("Invalid provider regexp"));
|
||||||
compile_rx_or_error (&obj_pat, objname, _("Invalid object file regexp"));
|
if (probe_name != NULL)
|
||||||
|
compile_rx_or_error (&probe_pat, probe_name, _("Invalid probe regexp"));
|
||||||
|
if (objname != NULL)
|
||||||
|
compile_rx_or_error (&obj_pat, objname, _("Invalid object file regexp"));
|
||||||
|
|
||||||
ALL_OBJFILES (objfile)
|
ALL_OBJFILES (objfile)
|
||||||
{
|
{
|
||||||
|
@ -1127,16 +1127,15 @@ get_regcomp_error (int code, regex_t *rx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Compile a regexp and throw an exception on error. This returns a
|
/* Compile a regexp and throw an exception on error. This returns a
|
||||||
cleanup to free the resulting pattern on success. If RX is NULL,
|
cleanup to free the resulting pattern on success. RX must not be
|
||||||
this does nothing and returns NULL. */
|
NULL. */
|
||||||
|
|
||||||
struct cleanup *
|
struct cleanup *
|
||||||
compile_rx_or_error (regex_t *pattern, const char *rx, const char *message)
|
compile_rx_or_error (regex_t *pattern, const char *rx, const char *message)
|
||||||
{
|
{
|
||||||
int code;
|
int code;
|
||||||
|
|
||||||
if (!rx)
|
gdb_assert (rx != NULL);
|
||||||
return NULL;
|
|
||||||
|
|
||||||
code = regcomp (pattern, rx, REG_NOSUB);
|
code = regcomp (pattern, rx, REG_NOSUB);
|
||||||
if (code != 0)
|
if (code != 0)
|
||||||
|
Loading…
Reference in New Issue
Block a user