412 |
|
return NULL; |
413 |
|
} |
414 |
|
p = proctitle; |
415 |
+ |
#ifdef OPENBSD |
416 |
+ |
/* On OpenBSD, this value has the argv pointers (which |
417 |
+ |
* are terminated by a NULL) at the front, so we have |
418 |
+ |
* to skip over them to get to the strings. */ |
419 |
+ |
while (*(char ***)p != NULL) { |
420 |
+ |
p += sizeof(char **); |
421 |
+ |
} |
422 |
+ |
p += sizeof(char **); |
423 |
+ |
#endif |
424 |
|
proc_state_ptr->proctitle[0] = '\0'; |
425 |
|
do { |
426 |
|
sg_strlcat(proc_state_ptr->proctitle, p, size+1); |
601 |
|
proc_state_ptr->state = SG_PROCESS_STATE_UNKNOWN; |
602 |
|
break; |
603 |
|
} |
604 |
+ |
|
605 |
+ |
free(kl_stats); |
606 |
|
#else |
607 |
|
#ifdef FREEBSD5 |
608 |
|
switch (kp_stats[i].ki_stat) { |