mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	sndfile-util: reduce useless loop
it's useless to get the same SF_FORMAT_INFO three times, just compare the name/extention in the same loop. Signed-off-by: Wang Xingchao <xingchao.wang@intel.com>
This commit is contained in:
		
							parent
							
								
									0c5e39a961
								
							
						
					
					
						commit
						953bedc974
					
				
					 1 changed files with 3 additions and 19 deletions
				
			
		| 
						 | 
				
			
			@ -424,7 +424,6 @@ int pa_sndfile_format_from_string(const char *name) {
 | 
			
		|||
 | 
			
		||||
    pa_assert_se(sf_command(NULL, SFC_GET_FORMAT_MAJOR_COUNT, &count, sizeof(int)) == 0);
 | 
			
		||||
 | 
			
		||||
    /* First try to match via full type string */
 | 
			
		||||
    for (i = 0; i < count; i++) {
 | 
			
		||||
        SF_FORMAT_INFO fi;
 | 
			
		||||
        pa_zero(fi);
 | 
			
		||||
| 
						 | 
				
			
			@ -432,30 +431,15 @@ int pa_sndfile_format_from_string(const char *name) {
 | 
			
		|||
 | 
			
		||||
        pa_assert_se(sf_command(NULL, SFC_GET_FORMAT_MAJOR, &fi, sizeof(fi)) == 0);
 | 
			
		||||
 | 
			
		||||
	/* First try to match via full type string */
 | 
			
		||||
        if (strcasecmp(name, fi.name) == 0)
 | 
			
		||||
            return fi.format;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	/* Then, try to match via the full extension */
 | 
			
		||||
    for (i = 0; i < count; i++) {
 | 
			
		||||
        SF_FORMAT_INFO fi;
 | 
			
		||||
        pa_zero(fi);
 | 
			
		||||
        fi.format = i;
 | 
			
		||||
 | 
			
		||||
        pa_assert_se(sf_command(NULL, SFC_GET_FORMAT_MAJOR, &fi, sizeof(fi)) == 0);
 | 
			
		||||
 | 
			
		||||
        if (strcasecmp(name, fi.extension) == 0)
 | 
			
		||||
            return fi.format;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
	/* Then, try to match via the start of the type string */
 | 
			
		||||
    for (i = 0; i < count; i++) {
 | 
			
		||||
        SF_FORMAT_INFO fi;
 | 
			
		||||
        pa_zero(fi);
 | 
			
		||||
        fi.format = i;
 | 
			
		||||
 | 
			
		||||
        pa_assert_se(sf_command(NULL, SFC_GET_FORMAT_MAJOR, &fi, sizeof(fi)) == 0);
 | 
			
		||||
 | 
			
		||||
        if (strncasecmp(name, fi.name, strlen(name)) == 0)
 | 
			
		||||
            return fi.format;
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue