- for(int i = 0; i < len; i++)
- {
- strcpy(string2, &string[i]);
- for(int j = 0; j < BCTEXTLEN; j++)
- {
- if(string2[j] == ',' || string2[j] == 0)
- {
- i += j;
- string2[j] = 0;
- break;
- }
- }
- channel_positions[current_channel++] = atoi(string2);
- if(current_channel >= channels) break;
+ for(;;) {
+ while( isspace(*cp) ) ++cp;
+ if( !cp ) break;
+ channel_positions[current_channel++] = strtol(cp, &cp, 0);
+ if( current_channel >= channels ) break;
+ while( isspace(*cp) ) ++cp;
+ if( *cp == ',' ) ++cp;
+ }
+ while( current_channel < channels ) {
+ int pos = default_audio_channel_position(current_channel, channels);
+ channel_positions[current_channel++] = pos;