| version 1.14, 2002/02/19 14:35:37 |
version 1.15, 2002/02/21 02:22:00 |
| Line 94 proctable_destroy(p_ptbl) |
|
| Line 94 proctable_destroy(p_ptbl) |
|
| } |
} |
| } |
} |
| |
|
| |
int proctable_join(PROCTABLE *p_dest_ptbl, PROCTABLE src_ptbl) |
| |
{ |
| |
register int i, dest_size, src_size; |
| |
|
| |
if (p_dest_ptbl == NULL) |
| |
return 0; |
| |
|
| |
for (i = 0; *p_dest_ptbl != NULL && (*p_dest_ptbl)[i] != NULL; i++) |
| |
; |
| |
dest_size = i; |
| |
|
| |
for (i = 0; src_ptbl != NULL && src_ptbl[i] != NULL; i++) |
| |
; |
| |
src_size = i; |
| |
|
| |
*p_dest_ptbl = (PROCTABLE) realloc(*p_dest_ptbl, |
| |
sizeof(struct process *) * (dest_size + src_size + 1)); |
| |
if (*p_dest_ptbl == NULL) |
| |
return 0; |
| |
|
| |
for (i = 0; i < src_size; i++) |
| |
(*p_dest_ptbl)[dest_size + i] = src_ptbl[i]; |
| |
|
| |
(*p_dest_ptbl)[dest_size + src_size] = NULL; |
| |
|
| |
return 1; |
| |
} |
| |
|
| int |
int |
| proctable_get_process_index_by_pid(ptbl, pid) |
proctable_get_process_index_by_pid(ptbl, pid) |
| Line 133 proctable_add_std_process(p_ptbl) |
|
| Line 160 proctable_add_std_process(p_ptbl) |
|
| *p_ptbl = (PROCTABLE) realloc(*p_ptbl, (i + 2) * sizeof(struct process *)); |
*p_ptbl = (PROCTABLE) realloc(*p_ptbl, (i + 2) * sizeof(struct process *)); |
| |
|
| if (*p_ptbl == NULL) { |
if (*p_ptbl == NULL) { |
| msg_error_print("realloc() failure.\n"); |
msg_error_print("realloc() failure\n"); |
| return -1; |
return -1; |
| } |
} |
| |
|
| Line 143 proctable_add_std_process(p_ptbl) |
|
| Line 170 proctable_add_std_process(p_ptbl) |
|
| (*p_ptbl)[0] = (struct process *) malloc(sizeof(struct process)); |
(*p_ptbl)[0] = (struct process *) malloc(sizeof(struct process)); |
| |
|
| if ((*p_ptbl)[0] == NULL) { |
if ((*p_ptbl)[0] == NULL) { |
| msg_error_print("malloc() failure.\n"); |
msg_error_print("malloc() failure\n"); |
| for (i = 1; *p_ptbl[i] != NULL; i++) { |
for (i = 1; *p_ptbl[i] != NULL; i++) { |
| process_destroy(*p_ptbl[i]); |
process_destroy(*p_ptbl[i]); |
| free(*p_ptbl[i]); |
free(*p_ptbl[i]); |