mirror of
https://github.com/joncampbell123/dosbox-x.git
synced 2025-10-14 19:08:32 +08:00
Update decoder
This commit is contained in:
@@ -7,7 +7,6 @@
|
|||||||
Documentation: http://nothings.org/stb/stb_h.html
|
Documentation: http://nothings.org/stb/stb_h.html
|
||||||
Unit tests: http://nothings.org/stb/stb.c
|
Unit tests: http://nothings.org/stb/stb.c
|
||||||
|
|
||||||
|
|
||||||
============================================================================
|
============================================================================
|
||||||
You MUST
|
You MUST
|
||||||
|
|
||||||
@@ -22,9 +21,9 @@
|
|||||||
All other files should just #include "stb.h" without the #define.
|
All other files should just #include "stb.h" without the #define.
|
||||||
============================================================================
|
============================================================================
|
||||||
|
|
||||||
|
|
||||||
Version History
|
Version History
|
||||||
|
|
||||||
|
2.36 various fixes
|
||||||
2.35 fix clang-cl issues with swprintf
|
2.35 fix clang-cl issues with swprintf
|
||||||
2.34 fix warnings
|
2.34 fix warnings
|
||||||
2.33 more fixes to random numbers
|
2.33 more fixes to random numbers
|
||||||
@@ -200,6 +199,7 @@ CREDITS
|
|||||||
github:infatum
|
github:infatum
|
||||||
Dave Butler (Croepha)
|
Dave Butler (Croepha)
|
||||||
Ethan Lee (flibitijibibo)
|
Ethan Lee (flibitijibibo)
|
||||||
|
Brian Collins
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@@ -2008,7 +2008,7 @@ char *stb_trimwhite(char *s)
|
|||||||
char *stb_strncpy(char *s, char *t, int n)
|
char *stb_strncpy(char *s, char *t, int n)
|
||||||
{
|
{
|
||||||
stb_p_strncpy_s(s,n+1,t,n);
|
stb_p_strncpy_s(s,n+1,t,n);
|
||||||
s[n-1] = 0;
|
s[n] = 0;
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2439,7 +2439,7 @@ static char *stb__splitpath_raw(char *buffer, char *path, int flag)
|
|||||||
} else {
|
} else {
|
||||||
x = f2;
|
x = f2;
|
||||||
if (flag & STB_EXT_NO_PERIOD)
|
if (flag & STB_EXT_NO_PERIOD)
|
||||||
if (buffer[x] == '.')
|
if (path[x] == '.')
|
||||||
++x;
|
++x;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2455,9 +2455,8 @@ static char *stb__splitpath_raw(char *buffer, char *path, int flag)
|
|||||||
if (!buffer) return NULL;
|
if (!buffer) return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (len) { stb_p_strcpy_s(buffer, sizeof(buffer), "./"); return buffer; }
|
if (len) { stb_p_strcpy_s(buffer, 3, "./"); return buffer; }
|
||||||
stb_p_strncpy_s(buffer, sizeof(buffer),path+x, y-x);
|
stb_strncpy(buffer, path+(int)x, (int)(y-x));
|
||||||
buffer[y-x] = 0;
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3209,13 +3208,13 @@ typedef struct
|
|||||||
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
|
#define stb_arr_addn(a,n) (stb_arr__addn((a),n),(a)+stb_arr_len(a)-(n))
|
||||||
|
|
||||||
// add N new uninitialized elements starting at index 'i'
|
// add N new uninitialized elements starting at index 'i'
|
||||||
#define stb_arr_insertn(a,i,n) (stb__arr_insertn((void **) &(a), sizeof(*a), i, n))
|
#define stb_arr_insertn(a,i,n) (stb__arr_insertn((void **) &(a), sizeof(*a), (i), (n)))
|
||||||
|
|
||||||
// insert an element at i
|
// insert an element at i
|
||||||
#define stb_arr_insert(a,i,v) (stb__arr_insertn((void **) &(a), sizeof(*a), i, 1), ((a)[i] = v))
|
#define stb_arr_insert(a,i,v) (stb__arr_insertn((void **) &(a), sizeof(*a), (i), (1)), ((a)[i] = v))
|
||||||
|
|
||||||
// delete N elements from the middle starting at index 'i'
|
// delete N elements from the middle starting at index 'i'
|
||||||
#define stb_arr_deleten(a,i,n) (stb__arr_deleten((void **) &(a), sizeof(*a), i, n))
|
#define stb_arr_deleten(a,i,n) (stb__arr_deleten((void **) &(a), sizeof(*a), (i), (n)))
|
||||||
|
|
||||||
// delete the i'th element
|
// delete the i'th element
|
||||||
#define stb_arr_delete(a,i) stb_arr_deleten(a,i,1)
|
#define stb_arr_delete(a,i) stb_arr_deleten(a,i,1)
|
||||||
@@ -3564,6 +3563,7 @@ unsigned int stb_hash_number(unsigned int hash)
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef STB_PERFECT_HASH
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
//
|
//
|
||||||
// Perfect hashing for ints/pointers
|
// Perfect hashing for ints/pointers
|
||||||
@@ -3860,6 +3860,7 @@ int stb_ischar(char c, char *set)
|
|||||||
return tables[z >> 3][(unsigned char) c] & bit[z & 7];
|
return tables[z >> 3][(unsigned char) c] & bit[z & 7];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
@@ -10038,6 +10039,7 @@ int stb_lex(stb_matcher *m, char *str, int *len)
|
|||||||
return stb__matcher_dfa(m, str, len);
|
return stb__matcher_dfa(m, str, len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef STB_PERFECT_HASH
|
||||||
int stb_regex(char *regex, char *str)
|
int stb_regex(char *regex, char *str)
|
||||||
{
|
{
|
||||||
static stb_perfect p;
|
static stb_perfect p;
|
||||||
@@ -10081,7 +10083,7 @@ int stb_regex(char *regex, char *str)
|
|||||||
}
|
}
|
||||||
return stb_matcher_find(matchers[(int) mapping[z]], str);
|
return stb_matcher_find(matchers[(int) mapping[z]], str);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
#endif // STB_DEFINE
|
#endif // STB_DEFINE
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user