summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2002-07-03 08:42:32 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2002-07-03 08:42:32 +0000
commitb020c90692263d1c432c35fc3d3be35de60f3f25 (patch)
treeb06e877465ed651966638ba0b61d34148a80c0c2
parent8bb93baaa3051e7dc0059233ba6d5015423362de (diff)
downloadldetect-b020c90692263d1c432c35fc3d3be35de60f3f25.tar
ldetect-b020c90692263d1c432c35fc3d3be35de60f3f25.tar.gz
ldetect-b020c90692263d1c432c35fc3d3be35de60f3f25.tar.bz2
ldetect-b020c90692263d1c432c35fc3d3be35de60f3f25.tar.xz
ldetect-b020c90692263d1c432c35fc3d3be35de60f3f25.zip
don't do uneeded copies (saves 2% of text size)
-rw-r--r--libldetect.h2
-rw-r--r--lspcidrake.c46
-rw-r--r--pciusb.c14
3 files changed, 31 insertions, 31 deletions
diff --git a/libldetect.h b/libldetect.h
index 7020332..9b90f35 100644
--- a/libldetect.h
+++ b/libldetect.h
@@ -21,7 +21,7 @@ struct pciusb_entries {
int nb;
};
-extern void pciusb_free(struct pciusb_entries entries);
+extern void pciusb_free(struct pciusb_entries *entries);
/******************************************************************************/
diff --git a/lspcidrake.c b/lspcidrake.c
index 55c69ba..753badd 100644
--- a/lspcidrake.c
+++ b/lspcidrake.c
@@ -11,30 +11,30 @@ void usage(void) {
exit(0);
}
-void print_name(struct pciusb_entry e) {
- printf("%-16s: ", e.module ? e.module : "unknown");
- if (e.text)
- printf(e.text);
+void print_name(struct pciusb_entry *e) {
+ printf("%-16s: ", e->module ? e->module : "unknown");
+ if (e->text)
+ printf(e->text);
else
- printf("unknown (%04x/%04x/%04x/%04x)", e.vendor, e.device, e.subvendor, e.subdevice);
+ printf("unknown (%04x/%04x/%04x/%04x)", e->vendor, e->device, e->subvendor, e->subdevice);
}
-void print_id(struct pciusb_entry e) {
- if (verboze && e.text) {
- printf(" (vendor:%04x device:%04x", e.vendor, e.device);
- if (e.subvendor != 0xffff || e.subdevice != 0xffff)
- printf(" subv:%04x subd:%04x", e.subvendor, e.subdevice);
+void print_id(struct pciusb_entry *e) {
+ if (verboze && e->text) {
+ printf(" (vendor:%04x device:%04x", e->vendor, e->device);
+ if (e->subvendor != 0xffff || e->subdevice != 0xffff)
+ printf(" subv:%04x subd:%04x", e->subvendor, e->subdevice);
printf(")");
}
}
-void pci_printit(struct pciusb_entries entries) {
+void pci_printit(struct pciusb_entries *entries) {
int i;
- for (i = 0; i < entries.nb; i++) {
- struct pciusb_entry e = entries.entries[i];
+ for (i = 0; i < entries->nb; i++) {
+ struct pciusb_entry *e = &entries->entries[i];
print_name(e);
- if (e.class_) {
- const char *class_ = pci_class2text(e.class_);
+ if (e->class_) {
+ const char *class_ = pci_class2text(e->class_);
if (strcmp(class_, "NOT_DEFINED") != 0) printf(" [%s]", class_);
}
print_id(e);
@@ -42,12 +42,12 @@ void pci_printit(struct pciusb_entries entries) {
}
}
-void usb_printit(struct pciusb_entries entries) {
+void usb_printit(struct pciusb_entries *entries) {
int i;
- for (i = 0; i < entries.nb; i++) {
- struct pciusb_entry e = entries.entries[i];
+ for (i = 0; i < entries->nb; i++) {
+ struct pciusb_entry *e = &entries->entries[i];
print_name(e);
- if (e.class_) printf(" [%s]", usb_class2text(e.class_));
+ if (e->class_) printf(" [%s]", usb_class2text(e->class_));
print_id(e);
printf("\n");
}
@@ -68,11 +68,11 @@ int main(int argc, char **argv) {
}
struct pciusb_entries entries = pci_probe(full_probe);
- pci_printit(entries);
- pciusb_free(entries);
+ pci_printit(&entries);
+ pciusb_free(&entries);
entries = usb_probe();
- usb_printit(entries);
- pciusb_free(entries);
+ usb_printit(&entries);
+ pciusb_free(&entries);
exit(0);
}
diff --git a/pciusb.c b/pciusb.c
index ecbae72..b031834 100644
--- a/pciusb.c
+++ b/pciusb.c
@@ -93,7 +93,7 @@ extern int pciusb_find_modules(struct pciusb_entries entries, const char *fpcius
struct pciusb_entry *e = &entries.entries[i];
if (vendor == e->vendor && device == e->device) {
if (nb == 4 && e->subvendor == 0xffff && e->subdevice == 0xffff && !no_subid) {
- pciusb_free(entries);
+ pciusb_free(&entries);
fh_close(f);
return 0; /* leave, let the caller call again with subids */
}
@@ -129,13 +129,13 @@ extern void pciusb_initialize(struct pciusb_entry *e) {
e->text = NULL;
}
-extern void pciusb_free(struct pciusb_entries entries) {
+extern void pciusb_free(struct pciusb_entries *entries) {
int i;
- for (i = 0; i < entries.nb; i++) {
- struct pciusb_entry e = entries.entries[i];
- ifree(e.module);
- ifree(e.text);
+ for (i = 0; i < entries->nb; i++) {
+ struct pciusb_entry *e = &entries->entries[i];
+ ifree(e->module);
+ ifree(e->text);
}
- ifree(entries.entries);
+ ifree(entries->entries);
}