lcdproc client: Fix build on OpenBSD >= 5.0.

This commit is contained in:
mmdolze
2012-02-26 12:50:47 +00:00
parent a151ee0fc4
commit e486266628
2 changed files with 27 additions and 11 deletions
+1
View File
@@ -27,6 +27,7 @@ v0.5dev (ongoing development)
+ new driver: sdeclcd for Watchguard FireBox appliances (F. Mertz) + new driver: sdeclcd for Watchguard FireBox appliances (F. Mertz)
+ hd44780: Added 'usb4all' connection type (T. Mohaupt) + hd44780: Added 'usb4all' connection type (T. Mohaupt)
* Fix RPM init script hanging on recent OS (#3488223) * Fix RPM init script hanging on recent OS (#3488223)
* lcdproc client: Fix build on OpenBSD >= 5.0
v0.5.5 v0.5.5
+ sed1330 driver: Add support for HG25504 (L. Lagendijk) + sed1330 driver: Add support for HG25504 (L. Lagendijk)
+15
View File
@@ -61,7 +61,11 @@
static int pageshift; static int pageshift;
#define pagetok(size) ((size) << pageshift) #define pagetok(size) ((size) << pageshift)
#if OpenBSD >= 201111
#define PROCSIZE(pp) ((pp)->p_vm_tsize + (pp)->p_vm_dsize + (pp)->p_vm_ssize)
#else
#define PROCSIZE(pp) ((pp).vm_tsize + (pp).vm_dsize + (pp).vm_ssize) #define PROCSIZE(pp) ((pp).vm_tsize + (pp).vm_dsize + (pp).vm_ssize)
#endif
int int
@@ -291,7 +295,11 @@ machine_get_procs(LinkedList * procs)
return (FALSE); return (FALSE);
} }
#if OpenBSD >= 201111
kprocs = kvm_getprocs(kvmd, KERN_PROC_ALL, 0, sizeof(struct kinfo_proc), &nproc);
#else
kprocs = kvm_getprocs(kvmd, KERN_PROC_ALL, 0, &nproc); kprocs = kvm_getprocs(kvmd, KERN_PROC_ALL, 0, &nproc);
#endif
if (kprocs == NULL) { if (kprocs == NULL) {
perror("kvm_getprocs"); perror("kvm_getprocs");
kvm_close(kvmd); kvm_close(kvmd);
@@ -305,10 +313,17 @@ machine_get_procs(LinkedList * procs)
kvm_close(kvmd); kvm_close(kvmd);
return (FALSE); return (FALSE);
} }
#if OpenBSD >= 201111
strncpy(p->name, kprocs->p_comm, 15);
p->name[15] = '\0';
p->totl = pagetok(PROCSIZE(kprocs));
p->number = kprocs->p_pid;
#else
strncpy(p->name, kprocs->kp_proc.p_comm, 15); strncpy(p->name, kprocs->kp_proc.p_comm, 15);
p->name[15] = '\0'; p->name[15] = '\0';
p->totl = pagetok(PROCSIZE(kprocs->kp_eproc.e_vm)); p->totl = pagetok(PROCSIZE(kprocs->kp_eproc.e_vm));
p->number = kprocs->kp_proc.p_pid; p->number = kprocs->kp_proc.p_pid;
#endif
LL_Push(procs, (void *)p); LL_Push(procs, (void *)p);
kprocs++; kprocs++;