mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-02-22 11:21:39 +00:00
util_strtocmd, util_strtononcmd
This commit is contained in:
parent
c81eb57480
commit
3321748e4a
2 changed files with 31 additions and 0 deletions
3
gmqcc.h
3
gmqcc.h
|
@ -287,6 +287,9 @@ void util_debug (const char *, const char *, ...);
|
||||||
int util_getline (char **, size_t *, FILE *);
|
int util_getline (char **, size_t *, FILE *);
|
||||||
void util_endianswap (void *, int, int);
|
void util_endianswap (void *, int, int);
|
||||||
|
|
||||||
|
size_t util_strtocmd (const char *, char *, size_t);
|
||||||
|
size_t util_strtononcmd (const char *, char *, size_t);
|
||||||
|
|
||||||
uint32_t util_crc32(const char *, int, register const short);
|
uint32_t util_crc32(const char *, int, register const short);
|
||||||
|
|
||||||
#ifdef NOTRACK
|
#ifdef NOTRACK
|
||||||
|
|
28
util.c
28
util.c
|
@ -370,3 +370,31 @@ int util_getline(char **lineptr, size_t *n, FILE *stream) {
|
||||||
*pos = '\0';
|
*pos = '\0';
|
||||||
return (ret = pos - *lineptr);
|
return (ret = pos - *lineptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
size_t util_strtocmd(const char *in, char *out, size_t outsz) {
|
||||||
|
size_t sz = 1;
|
||||||
|
for (; *in && sz < outsz; ++in, ++out, ++sz) {
|
||||||
|
if (*in == '-')
|
||||||
|
*out = '_';
|
||||||
|
else if (isalpha(*in) && !isupper(*in))
|
||||||
|
*out = *in + 'A' - 'a';
|
||||||
|
else
|
||||||
|
*out = *in;
|
||||||
|
}
|
||||||
|
*out = 0;
|
||||||
|
return sz-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
size_t util_strtononcmd(const char *, char *, size_t) {
|
||||||
|
size_t sz = 1;
|
||||||
|
for (; *in && sz < outsz; ++in, ++out, ++sz) {
|
||||||
|
if (*in == '_')
|
||||||
|
*out = '-';
|
||||||
|
else if (isalpha(*in) && isupper(*in))
|
||||||
|
*out = *in + 'a' - 'A';
|
||||||
|
else
|
||||||
|
*out = *in;
|
||||||
|
}
|
||||||
|
*out = 0;
|
||||||
|
return sz-1;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue