From d32e8a447c25199a7e205fd0e8fade04475a961b Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Sun, 18 Feb 2024 01:35:59 +0100 Subject: Library: pci_define_param() returns a pointer to the parameter This will allow overriding pci_param->malloced. --- lib/internal.h | 2 +- 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 -- cgit 1.2.3-korg