const int chain = unit % SOUND_STEP; int max_unit = 128 + chain; const char *name; char _name[16];  switch (chain) { case 0: name = "mixer"; break; case 1: name = "sequencer"; if (unit >= SOUND_STEP) goto __unknown; max_unit = unit + 1; break; case 2: name = "midi"; break; case 3: name = "dsp"; break; case 4: name = "audio"; break; case 8: name = "sequencer2"; if (unit >= SOUND_STEP) goto __unknown; max_unit = unit + 1; break; case 9: name = "dmmidi"; break; case 10: name = "dmfm"; break; case 12: name = "adsp"; break; case 13: name = "amidi"; break; case 14: name = "admmidi"; break; default: { __unknown: sprintf(_name, "unknown%d", chain); if (unit >= SOUND_STEP) strcat(_name, "-"); name = _name; } break; } return sound_insert_unit(&chains[chain], fops, -1, unit, max_unit, name, S_IRUSR | S_IWUSR); 
return register_sound_special_device(fops, unit, NULL); 
int register_sound_special(struct file_operations *fops, int unit){	const int chain = unit % SOUND_STEP;	int max_unit = 128 + chain;	const char *name;	char _name[16];	switch (chain) {	    case 0:		name = "mixer";		break;	    case 1:		name = "sequencer";		if (unit >= SOUND_STEP)			goto __unknown;		max_unit = unit + 1;		break;	    case 2:		name = "midi";		break;	    case 3:		name = "dsp";		break;	    case 4:		name = "audio";		break;	    case 8:		name = "sequencer2";		if (unit >= SOUND_STEP)			goto __unknown;		max_unit = unit + 1;		break;	    case 9:		name = "dmmidi";		break;	    case 10:		name = "dmfm";		break;	    case 12:		name = "adsp";		break;	    case 13:		name = "amidi";		break;	    case 14:		name = "admmidi";		break;	    default:	    	{		    __unknown:			sprintf(_name, "unknown%d", chain);		    	if (unit >= SOUND_STEP)		    		strcat(_name, "-");		    	name = _name;		}		break;	}	return sound_insert_unit(&chains[chain], fops, -1, unit, max_unit,				 name, S_IRUSR | S_IWUSR);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d568121ce3151c36cc4718dd4e977f217c6144c2/sound_core.c/buggy/sound/sound_core.c