mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Remove incorrect use of ctype.h functions.
As far as I can tell the code should not change behaviour depending on locale in any of these places. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
This commit is contained in:
parent
2cffe38df3
commit
88d55b827d
@ -1628,7 +1628,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>
|
||||
|
||||
|
20
ffserver.c
20
ffserver.c
@ -1125,7 +1125,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) {
|
||||
@ -1147,7 +1147,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++;
|
||||
}
|
||||
|
||||
@ -1258,7 +1258,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++;
|
||||
@ -1275,7 +1275,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 == '\'')
|
||||
@ -1285,7 +1285,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')
|
||||
@ -1389,7 +1389,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;
|
||||
@ -1540,7 +1540,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;
|
||||
}
|
||||
@ -1668,7 +1668,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');
|
||||
@ -4100,7 +4100,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;
|
||||
@ -4237,7 +4237,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;
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include "libavutil/colorspace.h"
|
||||
#include "libavutil/opt.h"
|
||||
#include "libavutil/imgutils.h"
|
||||
#include "libavutil/avstring.h"
|
||||
|
||||
//#define DEBUG
|
||||
|
||||
@ -523,7 +524,7 @@ static void parse_palette(DVDSubContext *ctx, char *p)
|
||||
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++;
|
||||
}
|
||||
}
|
||||
|
@ -35,11 +35,11 @@ static int rt_event_to_ass(AVBPrint *buf, const char *p)
|
||||
|
||||
while (*p) {
|
||||
if (*p != '<') {
|
||||
if (!isspace(*p))
|
||||
if (!av_isspace(*p))
|
||||
av_bprint_chars(buf, *p, 1);
|
||||
else if (!prev_chr_is_space)
|
||||
av_bprint_chars(buf, ' ', 1);
|
||||
prev_chr_is_space = isspace(*p);
|
||||
prev_chr_is_space = av_isspace(*p);
|
||||
} else {
|
||||
const char *end = strchr(p, '>');
|
||||
if (!end)
|
||||
|
@ -52,7 +52,7 @@ static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src)
|
||||
p = av_stristr(p, "<P");
|
||||
if (!p)
|
||||
break;
|
||||
if (p[2] != '>' && !isspace(p[2])) { // avoid confusion with tags such as <PRE>
|
||||
if (p[2] != '>' && !av_isspace(p[2])) { // avoid confusion with tags such as <PRE>
|
||||
p++;
|
||||
continue;
|
||||
}
|
||||
@ -70,7 +70,7 @@ static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src)
|
||||
}
|
||||
|
||||
/* if empty event -> skip subtitle */
|
||||
while (isspace(*p))
|
||||
while (av_isspace(*p))
|
||||
p++;
|
||||
if (!strncmp(p, " ", 6)) {
|
||||
ret = -1;
|
||||
@ -80,7 +80,7 @@ static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src)
|
||||
/* extract the text, stripping most of the tags */
|
||||
while (*p) {
|
||||
if (*p == '<') {
|
||||
if (!av_strncasecmp(p, "<P", 2) && (p[2] == '>' || isspace(p[2])))
|
||||
if (!av_strncasecmp(p, "<P", 2) && (p[2] == '>' || av_isspace(p[2])))
|
||||
break;
|
||||
if (!av_strncasecmp(p, "<BR", 3))
|
||||
av_bprintf(dst, "\\N");
|
||||
@ -92,11 +92,11 @@ static int sami_paragraph_to_ass(AVCodecContext *avctx, const char *src)
|
||||
if (*p == '>')
|
||||
p++;
|
||||
}
|
||||
if (!isspace(*p))
|
||||
if (!av_isspace(*p))
|
||||
av_bprint_chars(dst, *p, 1);
|
||||
else if (!prev_chr_is_space)
|
||||
av_bprint_chars(dst, ' ', 1);
|
||||
prev_chr_is_space = isspace(*p);
|
||||
prev_chr_is_space = av_isspace(*p);
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
@ -2777,10 +2777,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
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include "avcodec.h"
|
||||
#include "internal.h"
|
||||
#include "mathops.h"
|
||||
#include "libavutil/avstring.h"
|
||||
|
||||
static av_cold int xbm_decode_init(AVCodecContext *avctx)
|
||||
{
|
||||
@ -94,10 +95,10 @@ static int xbm_decode_frame(AVCodecContext *avctx, void *data,
|
||||
uint8_t val;
|
||||
|
||||
ptr += strcspn(ptr, "x") + 1;
|
||||
if (ptr < end && isxdigit(*ptr)) {
|
||||
if (ptr < end && av_isxdigit(*ptr)) {
|
||||
val = convert(*ptr);
|
||||
ptr++;
|
||||
if (isxdigit(*ptr))
|
||||
if (av_isxdigit(*ptr))
|
||||
val = (val << 4) + convert(*ptr);
|
||||
*dst++ = ff_reverse[val];
|
||||
} else {
|
||||
|
@ -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>
|
||||
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include "libavutil/opt.h"
|
||||
#include "libavutil/parseutils.h"
|
||||
#include "libavutil/random_seed.h"
|
||||
#include "libavutil/avstring.h"
|
||||
#include "avfilter.h"
|
||||
#include "internal.h"
|
||||
#include "formats.h"
|
||||
@ -133,7 +134,7 @@ static int init_pattern_from_string(AVFilterContext *ctx)
|
||||
if (*p == '\n' || !*p)
|
||||
break;
|
||||
else
|
||||
cellauto->buf[i] = !!isgraph(*(p++));
|
||||
cellauto->buf[i] = !!av_isgraph(*(p++));
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -31,6 +31,7 @@
|
||||
#include "libavutil/opt.h"
|
||||
#include "libavutil/parseutils.h"
|
||||
#include "libavutil/random_seed.h"
|
||||
#include "libavutil/avstring.h"
|
||||
#include "avfilter.h"
|
||||
#include "internal.h"
|
||||
#include "formats.h"
|
||||
@ -212,7 +213,7 @@ static int init_pattern_from_file(AVFilterContext *ctx)
|
||||
if (*p == '\n') {
|
||||
p++; break;
|
||||
} else
|
||||
life->buf[0][i*life->w + j] = isgraph(*(p++)) ? ALIVE_CELL : 0;
|
||||
life->buf[0][i*life->w + j] = av_isgraph(*(p++)) ? ALIVE_CELL : 0;
|
||||
}
|
||||
}
|
||||
life->buf_idx = 0;
|
||||
|
@ -110,7 +110,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;
|
||||
}
|
||||
|
@ -298,9 +298,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);
|
||||
|
||||
@ -325,7 +325,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';
|
||||
|
||||
|
@ -170,12 +170,12 @@ const char *ff_smil_get_attr_ptr(const char *s, const char *attr)
|
||||
|
||||
while (*s) {
|
||||
while (*s) {
|
||||
if (!in_quotes && isspace(*s))
|
||||
if (!in_quotes && av_isspace(*s))
|
||||
break;
|
||||
in_quotes ^= *s == '"'; // XXX: support escaping?
|
||||
s++;
|
||||
}
|
||||
while (isspace(*s))
|
||||
while (av_isspace(*s))
|
||||
s++;
|
||||
if (!av_strncasecmp(s, attr, len) && s[len] == '=')
|
||||
return s + len + 1 + (s[len + 1] == '"');
|
||||
|
@ -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);
|
||||
|
||||
|
@ -3641,11 +3641,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 '%':
|
||||
@ -3866,7 +3866,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')
|
||||
@ -3989,7 +3989,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;
|
||||
@ -4022,7 +4022,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++;
|
||||
}
|
||||
|
@ -185,6 +185,30 @@ char *av_get_token(const char **buf, const char *term);
|
||||
*/
|
||||
char *av_strtok(char *s, const char *delim, char **saveptr);
|
||||
|
||||
/**
|
||||
* Locale-independent conversion of ASCII isdigit.
|
||||
*/
|
||||
static inline int av_isdigit(int c)
|
||||
{
|
||||
return c >= '0' && c <= '9';
|
||||
}
|
||||
|
||||
/**
|
||||
* Locale-independent conversion of ASCII isgraph.
|
||||
*/
|
||||
static inline int av_isgraph(int c)
|
||||
{
|
||||
return c > 32 && c < 127;
|
||||
}
|
||||
|
||||
/**
|
||||
* Locale-independent conversion of ASCII isspace.
|
||||
*/
|
||||
static inline int av_isspace(int c)
|
||||
{
|
||||
return c == ' ' || c == '\f' || c == '\n' || c == '\r' || c == '\t' || c == '\v';
|
||||
}
|
||||
|
||||
/**
|
||||
* Locale-independent conversion of ASCII characters to uppercase.
|
||||
*/
|
||||
@ -205,6 +229,15 @@ static inline int av_tolower(int c)
|
||||
return c;
|
||||
}
|
||||
|
||||
/**
|
||||
* Locale-independent conversion of ASCII isxdigit.
|
||||
*/
|
||||
static inline int av_isxdigit(int c)
|
||||
{
|
||||
c = av_tolower(c);
|
||||
return av_isdigit(c) || (c >= 'a' && c <= 'z');
|
||||
}
|
||||
|
||||
/**
|
||||
* Locale-independent case-insensitive compare.
|
||||
* @note This means only ASCII-range characters are case-insensitive
|
||||
|
@ -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))
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include "log.h"
|
||||
#include "mathematics.h"
|
||||
#include "time.h"
|
||||
#include "avstring.h"
|
||||
|
||||
typedef struct Parser {
|
||||
const AVClass *class;
|
||||
@ -637,7 +638,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;
|
||||
|
@ -426,7 +426,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++;
|
||||
@ -446,8 +446,8 @@ char *av_small_strptime(const char *p, const char *fmt, struct tm *dt)
|
||||
|
||||
for(;;) {
|
||||
/* consume time string until a non whitespace char is found */
|
||||
while (isspace(*fmt)) {
|
||||
while (isspace(*p))
|
||||
while (av_isspace(*fmt)) {
|
||||
while (av_isspace(*p))
|
||||
p++;
|
||||
fmt++;
|
||||
}
|
||||
@ -611,11 +611,11 @@ int av_parse_time(int64_t *timeval, const char *timestr, int duration)
|
||||
int n;
|
||||
q++;
|
||||
for (n = 100000; n >= 1; n /= 10, q++) {
|
||||
if (!isdigit(*q))
|
||||
if (!av_isdigit(*q))
|
||||
break;
|
||||
microseconds += n * (*q - '0');
|
||||
}
|
||||
while (isdigit(*q))
|
||||
while (av_isdigit(*q))
|
||||
q++;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user