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