rem: static void dump_sem_info(int argc, char **argv)
add: static int dump_sem_info(int argc, char **argv)
context: static void dump_sem_info(int argc, char **argv){	int i;	if(argc < 2) {		dprintf("sem: not enough arguments\n");		return;	}	// if the argument looks like a hex number, treat it as such	if(strlen(argv[1]) > 2 && argv[1][0] == '0' && argv[1][1] == 'x') {		unsigned long num = atoul(argv[1]);		if(num > KERNEL_BASE && num <= (KERNEL_BASE + (KERNEL_SIZE - 1))) {			// XXX semi-hack			_dump_sem_info((struct sem_entry *)num);			return;		} else {			unsigned slot = num % MAX_SEMS;			if(sems[slot].id != (int)num) {				dprintf("sem 0x%lx doesn't exist!\n", num);				return;			}			_dump_sem_info(&sems[slot]);			return;		}	}	// walk through the sem list, trying to match name	for(i=0; i<MAX_SEMS; i++) {		if (sems[i].name != NULL)			if(strcmp(argv[1], sems[i].name) == 0) {				_dump_sem_info(&sems[i]);				return;			}	}}