rem: ULONG bits = 8, channels = 1, freq = 8000, volume = 100, position = 0; LONG priority = 0, length = MAXINT, buffersize = 32768;
add: ULONG bits = 8, channels = 1, freq = 8000; LONG  volume = 100, position = 0, priority = 0, length = MAXINT, buffersize = 32768;
context: long InitHData(struct HandlerData *data) {  ULONG bits = 8, channels = 1, freq = 8000, volume = 100, position = 0;  LONG priority = 0, length = MAXINT, buffersize = 32768;  long rc = 0;  data->initialized = TRUE;  // Fill in default values  if(!data->args.bits)    data->args.bits = &bits;  if(!data->args.channels)    data->args.channels = &channels;  if(!data->args.freq)    data->args.freq = &freq;  if(!data->args.volume)    data->args.volume = &volume;  if(!data->args.position)    data->args.position = &position;  if(!data->args.priority)    data->args.priority = &priority;  if(!data->args.length)    data->args.length = &length;  if(!data->args.buffersize)    data->args.buffersize = &buffersize;  if(!data->args.format)    data->args.format = SIGNED;  // 8, 16 or 32 bit  if(*data->args.bits <= 8)    data->type = S8bitmode;  else if(*data->args.bits <= 16)    data->type = S16bitmode;  else if(*data->args.bits <= 32)    data->type = S32bitmode;  else {    rc = ERROR_OBJECT_WRONG_TYPE;    goto quit;  }  // Mono or stereo  if((*data->args.channels > 2) || (*data->args.channels < 1)) {    rc = ERROR_OBJECT_WRONG_TYPE;    goto quit;  }  if(*data->args.channels == 2)    data->type |= Sstereoflag;  data->bits     = *data->args.bits;  data->channels = *data->args.channels;  data->freq     = *data->args.freq;  data->vol      = *data->args.volume * 0x10000 / 100;  data->pos      = *data->args.position * 0x8000 / 100 + 0x8000;  data->priority = *data->args.priority;  if(data->args.seconds) {    data->totallength = *data->args.seconds * data->freq                         * AHI_SampleFrameSize(data->type);  }  else {    data->totallength = (*data->args.length / AHI_SampleFrameSize(data->type))                        * AHI_SampleFrameSize(data->type);  }  data->format = data->args.format;  switch(data->format) {    case UNSIGNED:      data->type |= Sunsignedflag;      break;    case AIFF:    case AIFC:      data->totallength = data->totallength & ~1;    // Make even      break;  }  data->buffersize = *data->args.buffersize;quit:  return rc;}