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();
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <ctype.h>
#include <limits.h>
#include <stdlib.h>
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) {
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++;
}
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++;
int quote;
p = *pp;
- while (isspace(*p)) p++;
+ while (av_isspace(*p)) p++;
q = buf;
quote = 0;
if (*p == '\"' || *p == '\'')
if (*p == quote)
break;
} else {
- if (isspace(*p))
+ if (av_isspace(*p))
break;
}
if (*p == '\0')
break;
line_num++;
p = line;
- while (isspace(*p))
+ while (av_isspace(*p))
p++;
if (*p == '\0' || *p == '#')
continue;
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;
}
char *eoh;
char hostbuf[260];
- while (isspace(*hostinfo))
+ while (av_isspace(*hostinfo))
hostinfo++;
eoh = strchr(hostinfo, '\n');
break;
line_num++;
p = line;
- while (isspace(*p))
+ while (av_isspace(*p))
p++;
if (*p == '\0' || *p == '#')
continue;
get_arg(arg, sizeof(arg), &p);
p1 = arg;
fsize = strtod(p1, &p1);
- switch(toupper(*p1)) {
+ switch(av_toupper(*p1)) {
case 'K':
fsize *= 1024;
break;
#include "libavutil/colorspace.h"
#include "libavutil/opt.h"
#include "libavutil/imgutils.h"
+#include "libavutil/avstring.h"
//#define DEBUG
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++;
}
}
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)
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;
}
}
/* if empty event -> skip subtitle */
- while (isspace(*p))
+ while (av_isspace(*p))
p++;
if (!strncmp(p, " ", 6)) {
ret = -1;
/* 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");
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++;
}
}
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
#include "avcodec.h"
#include "internal.h"
#include "mathops.h"
+#include "libavutil/avstring.h"
static av_cold int xbm_decode_init(AVCodecContext *avctx)
{
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 {
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <ctype.h>
#include <string.h>
#include "libavutil/avassert.h"
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <ctype.h>
#include <string.h>
#include <stdio.h>
#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"
if (*p == '\n' || !*p)
break;
else
- cellauto->buf[i] = !!isgraph(*(p++));
+ cellauto->buf[i] = !!av_isgraph(*(p++));
}
return 0;
#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"
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;
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;
}
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;
}
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);
*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));
#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)
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;
}
for (j = 0; j < tl; j++)
- tt[j] = toupper(t[j]);
+ tt[j] = av_toupper(t[j]);
tt[tl] = 0;
memcpy(ct, v, vl);
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';
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] == '"');
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <ctype.h>
#include <string.h>
#include "libavutil/mem.h"
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);
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 '%':
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')
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;
if (*ptr == '\"')
ptr++;
} else {
- for (; *ptr && !(isspace(*ptr) || *ptr == ','); ptr++)
+ for (; *ptr && !(av_isspace(*ptr) || *ptr == ','); ptr++)
if (dest && dest < dest_end)
*dest++ = *ptr;
}
#include <stdint.h>
#include <stdio.h>
#include <string.h>
-#include <ctype.h>
#include "config.h"
#include "common.h"
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++;
}
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.
*/
static inline int av_toupper(int 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
*/
#ifndef AVUTIL_COMMON_H
#define AVUTIL_COMMON_H
-#include <ctype.h>
#include <errno.h>
#include <inttypes.h>
#include <limits.h>
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#include <ctype.h>
#include <string.h>
#include "avstring.h"
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))
#include "log.h"
#include "mathematics.h"
#include "time.h"
+#include "avstring.h"
typedef struct Parser {
const AVClass *class;
return AVERROR(ENOMEM);
while (*s)
- if (!isspace(*s++)) *wp++ = s[-1];
+ if (!av_isspace(*s++)) *wp++ = s[-1];
*wp++ = 0;
p.class = &class;
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++;
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++;
}
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++;
}