FreeSampleList (musiclist); 
FreeSampleList (); 
SL_LoadSamples (void){  SAMPLOAD *s;  if (!musiclist)    return 0;#ifdef MAX_SAMPLESPACE  while (SampleTotal () > (MAX_SAMPLESPACE * 1024))    {      /* First Pass - check for any 16 bit samples */      s = musiclist;      while (s)	{	  if (s->outfmt & SF_16BITS)	    {	      SL_Sample16to8 (s);	      break;	    }	  s = s->next;	}      /* Second pass (if no 16bits found above) is to take the sample with         the highest speed and dither it by half. */      if (!s)	{	  SAMPLOAD *c2smp = NULL;	  ULONG maxsize, speed;	  s = musiclist;	  speed = 0;	  while (s)	    {	      if ((s->sample->length) && (RealSpeed (s) > speed))		{		  speed = RealSpeed (s);		  c2smp = s;		}	      s = s->next;	    }	  if (c2smp)	    SL_HalveSample (c2smp);	}    }#endif  /* Samples dithered, now load them ! */  s = musiclist;  while (s)    {      /* sample has to be loaded ? -> increase number of samples, allocate         memory and load sample. */      if (s->sample->length)	{	  if (s->sample->seekpos)	    _mm_fseek (s->reader, s->sample->seekpos, SEEK_SET);	  /* Call the sample load routine of the driver module. It has to	     return a pointer to sample dat). */	  if (SL_Init (s))	    {	      s->sample->data = SL_Load (s);	      SL_Exit (s);	    }	  s->sample->flags = (s->sample->flags & ~SF_FORMATMASK) | s->outfmt;	  if (s->sample->data == NULL)	    {	      FreeSampleList (musiclist);	      return 1;	    }	}      s = s->next;    }  FreeSampleList (musiclist);  return 0;}
4357	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4357/7aa9f8f5984c49c1d485eb069c1fd26544b3d492/mloader.c/clean/libunimod/mloader.c