You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	Use the avstring.h locale-independent character type functions
Make sure the behavior does not change with the locale. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
		
				
					committed by
					
						 Martin Storsjö
						Martin Storsjö
					
				
			
			
				
	
			
			
			
						parent
						
							12c5c1d3e3
						
					
				
				
					commit
					efa7f42020
				
			| @@ -23,6 +23,7 @@ | ||||
|  | ||||
| #include "libavformat/avformat.h" | ||||
| #include "libavcodec/avcodec.h" | ||||
| #include "libavutil/avstring.h" | ||||
| #include "libavutil/opt.h" | ||||
| #include "libavutil/pixdesc.h" | ||||
| #include "libavutil/dict.h" | ||||
| @@ -302,7 +303,7 @@ static void old_print_object_header(const char *name) | ||||
|  | ||||
|     str = p = av_strdup(name); | ||||
|     while (*p) { | ||||
|         *p = toupper(*p); | ||||
|         *p = av_toupper(*p); | ||||
|         p++; | ||||
|     } | ||||
|  | ||||
| @@ -319,7 +320,7 @@ static void old_print_object_footer(const char *name) | ||||
|  | ||||
|     str = p = av_strdup(name); | ||||
|     while (*p) { | ||||
|         *p = toupper(*p); | ||||
|         *p = av_toupper(*p); | ||||
|         p++; | ||||
|     } | ||||
|  | ||||
|   | ||||
							
								
								
									
										20
									
								
								avserver.c
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								avserver.c
									
									
									
									
									
								
							| @@ -1113,7 +1113,7 @@ static int extract_rates(char *rates, int ratelen, const char *request) | ||||
|         if (av_strncasecmp(p, "Pragma:", 7) == 0) { | ||||
|             const char *q = p + 7; | ||||
|  | ||||
|             while (*q && *q != '\n' && isspace(*q)) | ||||
|             while (*q && *q != '\n' && av_isspace(*q)) | ||||
|                 q++; | ||||
|  | ||||
|             if (av_strncasecmp(q, "stream-switch-entry=", 20) == 0) { | ||||
| @@ -1135,7 +1135,7 @@ static int extract_rates(char *rates, int ratelen, const char *request) | ||||
|                     if (stream_no < ratelen && stream_no >= 0) | ||||
|                         rates[stream_no] = rate_no; | ||||
|  | ||||
|                     while (*q && *q != '\n' && !isspace(*q)) | ||||
|                     while (*q && *q != '\n' && !av_isspace(*q)) | ||||
|                         q++; | ||||
|                 } | ||||
|  | ||||
| @@ -1246,7 +1246,7 @@ static void get_word(char *buf, int buf_size, const char **pp) | ||||
|     p = *pp; | ||||
|     skip_spaces(&p); | ||||
|     q = buf; | ||||
|     while (!isspace(*p) && *p != '\0') { | ||||
|     while (!av_isspace(*p) && *p != '\0') { | ||||
|         if ((q - buf) < buf_size - 1) | ||||
|             *q++ = *p; | ||||
|         p++; | ||||
| @@ -1263,7 +1263,7 @@ static void get_arg(char *buf, int buf_size, const char **pp) | ||||
|     int quote; | ||||
|  | ||||
|     p = *pp; | ||||
|     while (isspace(*p)) p++; | ||||
|     while (av_isspace(*p)) p++; | ||||
|     q = buf; | ||||
|     quote = 0; | ||||
|     if (*p == '\"' || *p == '\'') | ||||
| @@ -1273,7 +1273,7 @@ static void get_arg(char *buf, int buf_size, const char **pp) | ||||
|             if (*p == quote) | ||||
|                 break; | ||||
|         } else { | ||||
|             if (isspace(*p)) | ||||
|             if (av_isspace(*p)) | ||||
|                 break; | ||||
|         } | ||||
|         if (*p == '\0') | ||||
| @@ -1377,7 +1377,7 @@ static IPAddressACL* parse_dynamic_acl(FFStream *stream, HTTPContext *c) | ||||
|             break; | ||||
|         line_num++; | ||||
|         p = line; | ||||
|         while (isspace(*p)) | ||||
|         while (av_isspace(*p)) | ||||
|             p++; | ||||
|         if (*p == '\0' || *p == '#') | ||||
|             continue; | ||||
| @@ -1528,7 +1528,7 @@ static int http_parse_request(HTTPContext *c) | ||||
|     for (p = c->buffer; *p && *p != '\r' && *p != '\n'; ) { | ||||
|         if (av_strncasecmp(p, "User-Agent:", 11) == 0) { | ||||
|             useragent = p + 11; | ||||
|             if (*useragent && *useragent != '\n' && isspace(*useragent)) | ||||
|             if (*useragent && *useragent != '\n' && av_isspace(*useragent)) | ||||
|                 useragent++; | ||||
|             break; | ||||
|         } | ||||
| @@ -1654,7 +1654,7 @@ static int http_parse_request(HTTPContext *c) | ||||
|             char *eoh; | ||||
|             char hostbuf[260]; | ||||
|  | ||||
|             while (isspace(*hostinfo)) | ||||
|             while (av_isspace(*hostinfo)) | ||||
|                 hostinfo++; | ||||
|  | ||||
|             eoh = strchr(hostinfo, '\n'); | ||||
| @@ -4060,7 +4060,7 @@ static int parse_ffconfig(const char *filename) | ||||
|             break; | ||||
|         line_num++; | ||||
|         p = line; | ||||
|         while (isspace(*p)) | ||||
|         while (av_isspace(*p)) | ||||
|             p++; | ||||
|         if (*p == '\0' || *p == '#') | ||||
|             continue; | ||||
| @@ -4198,7 +4198,7 @@ static int parse_ffconfig(const char *filename) | ||||
|                 get_arg(arg, sizeof(arg), &p); | ||||
|                 p1 = arg; | ||||
|                 fsize = strtod(p1, &p1); | ||||
|                 switch(toupper(*p1)) { | ||||
|                 switch(av_toupper(*p1)) { | ||||
|                 case 'K': | ||||
|                     fsize *= 1024; | ||||
|                     break; | ||||
|   | ||||
| @@ -1289,7 +1289,7 @@ int show_help(void *optctx, const char *opt, const char *arg) | ||||
| int read_yesno(void) | ||||
| { | ||||
|     int c = getchar(); | ||||
|     int yesno = (toupper(c) == 'Y'); | ||||
|     int yesno = (av_toupper(c) == 'Y'); | ||||
|  | ||||
|     while (c != '\n' && c != EOF) | ||||
|         c = getchar(); | ||||
|   | ||||
| @@ -19,7 +19,6 @@ | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include <ctype.h> | ||||
| #include <limits.h> | ||||
| #include <stdlib.h> | ||||
|  | ||||
| @@ -49,7 +48,7 @@ double avpriv_strtod(const char *nptr, char **endptr) | ||||
|     double res; | ||||
|  | ||||
|     /* Skip leading spaces */ | ||||
|     while (isspace(*nptr)) | ||||
|     while (av_isspace(*nptr)) | ||||
|         nptr++; | ||||
|  | ||||
|     if (!av_strncasecmp(nptr, "infinity", 8)) { | ||||
|   | ||||
| @@ -23,6 +23,7 @@ | ||||
| #include "dsputil.h" | ||||
| #include "libavutil/colorspace.h" | ||||
| #include "libavutil/imgutils.h" | ||||
| #include "libavutil/avstring.h" | ||||
|  | ||||
| //#define DEBUG | ||||
|  | ||||
| @@ -522,7 +523,7 @@ static int dvdsub_init(AVCodecContext *avctx) | ||||
|             ctx->has_palette = 1; | ||||
|             for (i = 0; i < 16; i++) { | ||||
|                 ctx->palette[i] = strtoul(p, &p, 16); | ||||
|                 while (*p == ',' || isspace(*p)) | ||||
|                 while (*p == ',' || av_isspace(*p)) | ||||
|                     p++; | ||||
|             } | ||||
|         } else if (!strncmp("size:", cur, 5)) { | ||||
|   | ||||
| @@ -2105,10 +2105,10 @@ int avpriv_unlock_avformat(void) | ||||
|  | ||||
| unsigned int avpriv_toupper4(unsigned int x) | ||||
| { | ||||
|     return toupper(x & 0xFF) | ||||
|            + (toupper((x >> 8) & 0xFF) << 8) | ||||
|            + (toupper((x >> 16) & 0xFF) << 16) | ||||
|            + (toupper((x >> 24) & 0xFF) << 24); | ||||
|     return av_toupper(x & 0xFF) + | ||||
|           (av_toupper((x >>  8) & 0xFF) << 8)  + | ||||
|           (av_toupper((x >> 16) & 0xFF) << 16) + | ||||
|           (av_toupper((x >> 24) & 0xFF) << 24); | ||||
| } | ||||
|  | ||||
| #if !HAVE_THREADS | ||||
|   | ||||
| @@ -150,17 +150,17 @@ static av_cold int channelmap_init(AVFilterContext *ctx, const char *args) | ||||
|     } else { | ||||
|         char *dash = strchr(mapping, '-'); | ||||
|         if (!dash) {  // short mapping | ||||
|             if (isdigit(*mapping)) | ||||
|             if (av_isdigit(*mapping)) | ||||
|                 mode = MAP_ONE_INT; | ||||
|             else | ||||
|                 mode = MAP_ONE_STR; | ||||
|         } else if (isdigit(*mapping)) { | ||||
|             if (isdigit(*(dash+1))) | ||||
|         } else if (av_isdigit(*mapping)) { | ||||
|             if (av_isdigit(*(dash+1))) | ||||
|                 mode = MAP_PAIR_INT_INT; | ||||
|             else | ||||
|                 mode = MAP_PAIR_INT_STR; | ||||
|         } else { | ||||
|             if (isdigit(*(dash+1))) | ||||
|             if (av_isdigit(*(dash+1))) | ||||
|                 mode = MAP_PAIR_STR_INT; | ||||
|             else | ||||
|                 mode = MAP_PAIR_STR_STR; | ||||
|   | ||||
| @@ -20,7 +20,6 @@ | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include <ctype.h> | ||||
| #include <string.h> | ||||
|  | ||||
| #include "libavutil/avassert.h" | ||||
|   | ||||
| @@ -20,7 +20,6 @@ | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include <ctype.h> | ||||
| #include <string.h> | ||||
| #include <stdio.h> | ||||
|  | ||||
|   | ||||
| @@ -177,7 +177,7 @@ static int read_shape_from_file(int *cols, int *rows, int **values, const char * | ||||
|                 p++; | ||||
|                 break; | ||||
|             } else | ||||
|                 (*values)[*cols*i + j] = !!isgraph(*(p++)); | ||||
|                 (*values)[*cols*i + j] = !!av_isgraph(*(p++)); | ||||
|         } | ||||
|     } | ||||
|     av_file_unmap(buf, size); | ||||
|   | ||||
| @@ -108,7 +108,7 @@ typedef struct HLSContext { | ||||
| static int read_chomp_line(AVIOContext *s, char *buf, int maxlen) | ||||
| { | ||||
|     int len = ff_get_line(s, buf, maxlen); | ||||
|     while (len > 0 && isspace(buf[len - 1])) | ||||
|     while (len > 0 && av_isspace(buf[len - 1])) | ||||
|         buf[--len] = '\0'; | ||||
|     return len; | ||||
| } | ||||
|   | ||||
| @@ -71,7 +71,7 @@ typedef struct HLSContext { | ||||
| static int read_chomp_line(AVIOContext *s, char *buf, int maxlen) | ||||
| { | ||||
|     int len = ff_get_line(s, buf, maxlen); | ||||
|     while (len > 0 && isspace(buf[len - 1])) | ||||
|     while (len > 0 && av_isspace(buf[len - 1])) | ||||
|         buf[--len] = '\0'; | ||||
|     return len; | ||||
| } | ||||
|   | ||||
| @@ -278,9 +278,9 @@ static int process_line(URLContext *h, char *line, int line_count, | ||||
|  | ||||
|     p = line; | ||||
|     if (line_count == 0) { | ||||
|         while (!isspace(*p) && *p != '\0') | ||||
|         while (!av_isspace(*p) && *p != '\0') | ||||
|             p++; | ||||
|         while (isspace(*p)) | ||||
|         while (av_isspace(*p)) | ||||
|             p++; | ||||
|         s->http_code = strtol(p, &end, 10); | ||||
|  | ||||
| @@ -305,7 +305,7 @@ static int process_line(URLContext *h, char *line, int line_count, | ||||
|         *p = '\0'; | ||||
|         tag = line; | ||||
|         p++; | ||||
|         while (isspace(*p)) | ||||
|         while (av_isspace(*p)) | ||||
|             p++; | ||||
|         if (!av_strcasecmp(tag, "Location")) { | ||||
|             av_strlcpy(s->location, p, sizeof(s->location)); | ||||
|   | ||||
| @@ -27,7 +27,6 @@ | ||||
| #include "libavutil/md5.h" | ||||
| #include "urldecode.h" | ||||
| #include "avformat.h" | ||||
| #include <ctype.h> | ||||
|  | ||||
| static void handle_basic_params(HTTPAuthState *state, const char *key, | ||||
|                                 int key_len, char **dest, int *dest_len) | ||||
| @@ -80,8 +79,8 @@ static void choose_qop(char *qop, int size) | ||||
|     char *ptr = strstr(qop, "auth"); | ||||
|     char *end = ptr + strlen("auth"); | ||||
|  | ||||
|     if (ptr && (!*end || isspace(*end) || *end == ',') && | ||||
|         (ptr == qop || isspace(ptr[-1]) || ptr[-1] == ',')) { | ||||
|     if (ptr && (!*end || av_isspace(*end) || *end == ',') && | ||||
|         (ptr == qop || av_isspace(ptr[-1]) || ptr[-1] == ',')) { | ||||
|         av_strlcpy(qop, "auth", size); | ||||
|     } else { | ||||
|         qop[0] = 0; | ||||
|   | ||||
| @@ -122,7 +122,7 @@ ff_vorbis_comment(AVFormatContext * as, AVDictionary **m, const uint8_t *buf, in | ||||
|             } | ||||
|  | ||||
|             for (j = 0; j < tl; j++) | ||||
|                 tt[j] = toupper(t[j]); | ||||
|                 tt[j] = av_toupper(t[j]); | ||||
|             tt[tl] = 0; | ||||
|  | ||||
|             memcpy(ct, v, vl); | ||||
|   | ||||
| @@ -236,7 +236,7 @@ static int rtmp_http_open(URLContext *h, const char *uri, int flags) | ||||
|             goto fail; | ||||
|         } | ||||
|     } | ||||
|     while (off > 0 && isspace(rt->client_id[off - 1])) | ||||
|     while (off > 0 && av_isspace(rt->client_id[off - 1])) | ||||
|         off--; | ||||
|     rt->client_id[off] = '\0'; | ||||
|  | ||||
|   | ||||
| @@ -26,7 +26,6 @@ | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include <ctype.h> | ||||
| #include <string.h> | ||||
|  | ||||
| #include "libavutil/mem.h" | ||||
| @@ -54,7 +53,7 @@ char *ff_urldecode(const char *url) | ||||
|         if (c == '%' && s + 2 < url_len) { | ||||
|             char c2 = url[s++]; | ||||
|             char c3 = url[s++]; | ||||
|             if (isxdigit(c2) && isxdigit(c3)) { | ||||
|             if (av_isxdigit(c2) && av_isxdigit(c3)) { | ||||
|                 c2 = av_tolower(c2); | ||||
|                 c3 = av_tolower(c3); | ||||
|  | ||||
|   | ||||
| @@ -3050,11 +3050,11 @@ int av_get_frame_filename(char *buf, int buf_size, | ||||
|         if (c == '%') { | ||||
|             do { | ||||
|                 nd = 0; | ||||
|                 while (isdigit(*p)) { | ||||
|                 while (av_isdigit(*p)) { | ||||
|                     nd = nd * 10 + *p++ - '0'; | ||||
|                 } | ||||
|                 c = *p++; | ||||
|             } while (isdigit(c)); | ||||
|             } while (av_isdigit(c)); | ||||
|  | ||||
|             switch(c) { | ||||
|             case '%': | ||||
| @@ -3255,7 +3255,7 @@ int ff_hex_to_data(uint8_t *data, const char *p) | ||||
|         p += strspn(p, SPACE_CHARS); | ||||
|         if (*p == '\0') | ||||
|             break; | ||||
|         c = toupper((unsigned char) *p++); | ||||
|         c = av_toupper((unsigned char) *p++); | ||||
|         if (c >= '0' && c <= '9') | ||||
|             c = c - '0'; | ||||
|         else if (c >= 'A' && c <= 'F') | ||||
| @@ -3365,7 +3365,7 @@ void ff_parse_key_value(const char *str, ff_parse_key_val_cb callback_get_buf, | ||||
|         int key_len, dest_len = 0; | ||||
|  | ||||
|         /* Skip whitespace and potential commas. */ | ||||
|         while (*ptr && (isspace(*ptr) || *ptr == ',')) | ||||
|         while (*ptr && (av_isspace(*ptr) || *ptr == ',')) | ||||
|             ptr++; | ||||
|         if (!*ptr) | ||||
|             break; | ||||
| @@ -3398,7 +3398,7 @@ void ff_parse_key_value(const char *str, ff_parse_key_val_cb callback_get_buf, | ||||
|             if (*ptr == '\"') | ||||
|                 ptr++; | ||||
|         } else { | ||||
|             for (; *ptr && !(isspace(*ptr) || *ptr == ','); ptr++) | ||||
|             for (; *ptr && !(av_isspace(*ptr) || *ptr == ','); ptr++) | ||||
|                 if (dest && dest < dest_end) | ||||
|                     *dest++ = *ptr; | ||||
|         } | ||||
|   | ||||
| @@ -23,7 +23,6 @@ | ||||
| #include <stdint.h> | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
| #include <ctype.h> | ||||
|  | ||||
| #include "config.h" | ||||
| #include "common.h" | ||||
| @@ -43,7 +42,7 @@ int av_strstart(const char *str, const char *pfx, const char **ptr) | ||||
|  | ||||
| int av_stristart(const char *str, const char *pfx, const char **ptr) | ||||
| { | ||||
|     while (*pfx && toupper((unsigned)*pfx) == toupper((unsigned)*str)) { | ||||
|     while (*pfx && av_toupper((unsigned)*pfx) == av_toupper((unsigned)*str)) { | ||||
|         pfx++; | ||||
|         str++; | ||||
|     } | ||||
|   | ||||
| @@ -26,7 +26,6 @@ | ||||
| #ifndef AVUTIL_COMMON_H | ||||
| #define AVUTIL_COMMON_H | ||||
|  | ||||
| #include <ctype.h> | ||||
| #include <errno.h> | ||||
| #include <inttypes.h> | ||||
| #include <limits.h> | ||||
|   | ||||
| @@ -18,7 +18,6 @@ | ||||
|  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
|  */ | ||||
|  | ||||
| #include <ctype.h> | ||||
| #include <string.h> | ||||
|  | ||||
| #include "avstring.h" | ||||
| @@ -50,7 +49,7 @@ av_dict_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int | ||||
|     for(; i<m->count; i++){ | ||||
|         const char *s= m->elems[i].key; | ||||
|         if(flags & AV_DICT_MATCH_CASE) for(j=0;         s[j]  ==         key[j]  && key[j]; j++); | ||||
|         else                               for(j=0; toupper(s[j]) == toupper(key[j]) && key[j]; j++); | ||||
|         else                               for(j=0; av_toupper(s[j]) == av_toupper(key[j]) && key[j]; j++); | ||||
|         if(key[j]) | ||||
|             continue; | ||||
|         if(s[j] && !(flags & AV_DICT_IGNORE_SUFFIX)) | ||||
|   | ||||
| @@ -31,6 +31,7 @@ | ||||
| #include "eval.h" | ||||
| #include "log.h" | ||||
| #include "mathematics.h" | ||||
| #include "avstring.h" | ||||
|  | ||||
| typedef struct Parser { | ||||
|     const AVClass *class; | ||||
| @@ -503,7 +504,7 @@ int av_expr_parse(AVExpr **expr, const char *s, | ||||
|         return AVERROR(ENOMEM); | ||||
|  | ||||
|     while (*s) | ||||
|         if (!isspace(*s++)) *wp++ = s[-1]; | ||||
|         if (!av_isspace(*s++)) *wp++ = s[-1]; | ||||
|     *wp++ = 0; | ||||
|  | ||||
|     p.class      = &class; | ||||
|   | ||||
| @@ -385,7 +385,7 @@ static int date_get_num(const char **pp, | ||||
|     val = 0; | ||||
|     for(i = 0; i < len_max; i++) { | ||||
|         c = *p; | ||||
|         if (!isdigit(c)) | ||||
|         if (!av_isdigit(c)) | ||||
|             break; | ||||
|         val = (val * 10) + c - '0'; | ||||
|         p++; | ||||
| @@ -591,7 +591,7 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration) | ||||
|         int val, n; | ||||
|         q++; | ||||
|         for (val = 0, n = 100000; n >= 1; n /= 10, q++) { | ||||
|             if (!isdigit(*q)) | ||||
|             if (!av_isdigit(*q)) | ||||
|                 break; | ||||
|             val += n * (*q - '0'); | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user