summaryrefslogtreecommitdiffstats
path: root/pciusb.c
diff options
context:
space:
mode:
authorThierry Vignaud <tvignaud@mandriva.org>2002-07-03 09:06:25 +0000
committerThierry Vignaud <tvignaud@mandriva.org>2002-07-03 09:06:25 +0000
commit7949691d9a6fff4831d7ab8ea11883a9deb79e9f (patch)
treed9d8cdac893e08178ada9009b7c8685876f91482 /pciusb.c
parent550405284c406a41dd32459af8ace3e0fc9cd079 (diff)
downloadldetect-7949691d9a6fff4831d7ab8ea11883a9deb79e9f.tar
ldetect-7949691d9a6fff4831d7ab8ea11883a9deb79e9f.tar.gz
ldetect-7949691d9a6fff4831d7ab8ea11883a9deb79e9f.tar.bz2
ldetect-7949691d9a6fff4831d7ab8ea11883a9deb79e9f.tar.xz
ldetect-7949691d9a6fff4831d7ab8ea11883a9deb79e9f.zip
get rid of more uneeded copies
Diffstat (limited to 'pciusb.c')
-rw-r--r--pciusb.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/pciusb.c b/pciusb.c
index fcf17e8..44f9d8b 100644
--- a/pciusb.c
+++ b/pciusb.c
@@ -38,9 +38,9 @@ static fh fh_open(char *fname) {
int ip = 0;
char *ld_loader = getenv("LD_LOADER");
- if (ld_loader && *ld_loader) {
+ if (ld_loader && *ld_loader)
cmd[ip++] = ld_loader;
- }
+
cmd[ip++] = "gzip";
cmd[ip++] = "-dc";
cmd[ip++] = fname_gz;
@@ -59,13 +59,13 @@ static fh fh_open(char *fname) {
return ret;
}
-static void fh_close(fh f) {
- fclose(f.f);
- if (f.pid > 0)
- waitpid(f.pid, NULL, 0);
+static void fh_close(fh *f) {
+ fclose(f->f);
+ if (f->pid > 0)
+ waitpid(f->pid, NULL, 0);
}
-extern int pciusb_find_modules(struct pciusb_entries entries, const char *fpciusbtable, int no_subid) {
+extern int pciusb_find_modules(struct pciusb_entries *entries, const char *fpciusbtable, int no_subid) {
fh f;
char buf[2048];
int line;
@@ -81,7 +81,7 @@ extern int pciusb_find_modules(struct pciusb_entries entries, const char *fpcius
for (line = 1; fgets(buf, sizeof(buf) - 1, f.f); line++) {
unsigned short vendor, device, subvendor, subdevice;
- int offset, i;
+ int offset; unsigned int i;
int nb = sscanf(buf, "0x%hx\t0x%hx\t0x%hx\t0x%hx\t%n", &vendor, &device, &subvendor, &subdevice, &offset);
if (nb != 4) {
nb = sscanf(buf, "0x%hx\t0x%hx\t%n", &vendor, &device, &offset);
@@ -91,12 +91,12 @@ extern int pciusb_find_modules(struct pciusb_entries entries, const char *fpcius
continue;
}
}
- 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];
if (vendor == e->vendor && device == e->device) {
if (nb == 4 && e->subvendor == 0xffff && e->subdevice == 0xffff && !no_subid) {
- pciusb_free(&entries);
- fh_close(f);
+ pciusb_free(entries);
+ fh_close(&f);
return 0; /* leave, let the caller call again with subids */
}
@@ -114,7 +114,7 @@ extern int pciusb_find_modules(struct pciusb_entries entries, const char *fpcius
}
}
}
- fh_close(f);
+ fh_close(&f);
return 1;
}
@@ -132,7 +132,7 @@ extern void pciusb_initialize(struct pciusb_entry *e) {
}
extern void pciusb_free(struct pciusb_entries *entries) {
- int i;
+ unsigned int i;
for (i = 0; i < entries->nb; i++) {
struct pciusb_entry *e = &entries->entries[i];
ifree(e->module);