mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	add pa_vsnprintf()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2434 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
		
							parent
							
								
									1a2e5a8a80
								
							
						
					
					
						commit
						b57c520149
					
				
					 2 changed files with 19 additions and 2 deletions
				
			
		| 
						 | 
					@ -1592,12 +1592,28 @@ int pa_snprintf(char *str, size_t size, const char *format, ...) {
 | 
				
			||||||
    pa_assert(format);
 | 
					    pa_assert(format);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    va_start(ap, format);
 | 
					    va_start(ap, format);
 | 
				
			||||||
    ret = vsnprintf(str, size, format, ap);
 | 
					    ret = pa_vsnprintf(str, size, format, ap);
 | 
				
			||||||
    va_end(ap);
 | 
					    va_end(ap);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return ret;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Same as vsnprintf, but guarantees NUL-termination on every platform */
 | 
				
			||||||
 | 
					int pa_vsnprintf(char *str, size_t size, const char *format, va_list ap) {
 | 
				
			||||||
 | 
					    int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    pa_assert(str);
 | 
				
			||||||
 | 
					    pa_assert(size > 0);
 | 
				
			||||||
 | 
					    pa_assert(format);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ret = vsnprintf(str, size, format, ap);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    str[size-1] = 0;
 | 
					    str[size-1] = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return ret;
 | 
					    if (ret < 0)
 | 
				
			||||||
 | 
					        ret = strlen(str);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return PA_MIN((int) size-1, ret);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Truncate the specified string, but guarantee that the string
 | 
					/* Truncate the specified string, but guarantee that the string
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -128,6 +128,7 @@ int pa_atou(const char *s, uint32_t *ret_u);
 | 
				
			||||||
int pa_atof(const char *s, float *ret_f);
 | 
					int pa_atof(const char *s, float *ret_f);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int pa_snprintf(char *str, size_t size, const char *format, ...);
 | 
					int pa_snprintf(char *str, size_t size, const char *format, ...);
 | 
				
			||||||
 | 
					int pa_vsnprintf(char *str, size_t size, const char *format, va_list ap);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
char *pa_truncate_utf8(char *c, size_t l);
 | 
					char *pa_truncate_utf8(char *c, size_t l);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue