diff options
author | Martin Mares <mj@ucw.cz> | 2024-02-18 01:35:59 +0100 |
---|---|---|
committer | Martin Mares <mj@ucw.cz> | 2024-02-18 01:35:59 +0100 |
commit | d32e8a447c25199a7e205fd0e8fade04475a961b (patch) | |
tree | bb9b75f4477d5c3136692c1fc88e71d8c19905d9 | |
parent | 4c93c5d3fa620cf5296d48528cba6971d15affce (diff) | |
download | pciutils-d32e8a447c25199a7e205fd0e8fade04475a961b.tar.gz |
Library: pci_define_param() returns a pointer to the parameter
This will allow overriding pci_param->malloced.
-rw-r--r-- | lib/internal.h | 2 | ||||
-rw-r--r-- | lib/params.c | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/internal.h b/lib/internal.h index 4c55739..64836b9 100644 --- a/lib/internal.h +++ b/lib/internal.h @@ -127,7 +127,7 @@ struct pci_property { char *pci_set_property(struct pci_dev *d, u32 key, char *value); /* params.c */ -void pci_define_param(struct pci_access *acc, char *param, char *val, char *help); +struct pci_param *pci_define_param(struct pci_access *acc, char *param, char *val, char *help); int pci_set_param_internal(struct pci_access *acc, char *param, char *val, int copy); void pci_free_params(struct pci_access *acc); diff --git a/lib/params.c b/lib/params.c index ac756ad..9b4c2e2 100644 --- a/lib/params.c +++ b/lib/params.c @@ -25,7 +25,7 @@ pci_get_param(struct pci_access *acc, char *param) return NULL; } -void +struct pci_param * pci_define_param(struct pci_access *acc, char *param, char *value, char *help) { struct pci_param *p, **pp; @@ -37,7 +37,7 @@ pci_define_param(struct pci_access *acc, char *param, char *value, char *help) { if (strcmp(p->value, value) || strcmp(p->help, help)) acc->error("Parameter %s re-defined differently", param); - return; + return p; } if (cmp > 0) break; @@ -50,6 +50,7 @@ pci_define_param(struct pci_access *acc, char *param, char *value, char *help) p->value = value; p->value_malloced = 0; p->help = help; + return p; } int |