提交 a0b521fc 编写于 作者: S Sean Barrett

no warnings when compiling /W3

   compiling all test cases and compilers in test.sbm
   Compilers:
     32-bit:
       VS2015
       VS2013
       VS2008
       VC6 (1998)
       clang-cl 9.0.1
     64-bit
       VS2015
       clang-cl 9.0.1
上级 96b4748d
此差异已折叠。
......@@ -514,7 +514,7 @@ static int stb__clex_parse_string(stb_lexer *lexer, char *p, int type)
}
*out = 0;
lexer->string = lexer->string_storage;
lexer->string_len = out - lexer->string_storage;
lexer->string_len = (int) (out - lexer->string_storage);
return stb__clex_token(lexer, type, start, p);
}
......@@ -824,7 +824,7 @@ int stb_c_lexer_get_token(stb_lexer *lexer)
#endif // STB_C_LEXER_IMPLEMENTATION
#ifdef STB_C_LEXER_SELF_TEST
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
......@@ -884,11 +884,12 @@ void dummy(void)
{
double some_floats[] = {
1.0501, -10.4e12, 5E+10,
#if 0 // not support in C++ or C-pre-99, so don't try to compile it
#if 0 // not supported in C++ or C-pre-99, so don't try to compile it, but let our parser test it
0x1.0p+24, 0xff.FP-8, 0x1p-23,
#endif
4.
};
(void) sizeof(some_floats);
printf("test %d",1); // https://github.com/nothings/stb/issues/13
}
......@@ -897,7 +898,7 @@ int main(int argc, char **argv)
{
FILE *f = fopen("stb_c_lexer.h","rb");
char *text = (char *) malloc(1 << 20);
int len = f ? fread(text, 1, 1<<20, f) : -1;
int len = f ? (int) fread(text, 1, 1<<20, f) : -1;
stb_lexer lex;
if (len < 0) {
fprintf(stderr, "Error opening file\n");
......
......@@ -709,7 +709,7 @@ static void stbcc__remove_clump_connection(stbcc_grid *g, int x1, int y1, int x2
static void stbcc__add_connections_to_adjacent_cluster(stbcc_grid *g, int cx, int cy, int dx, int dy)
{
unsigned char connected[STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER][STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER/8] = { 0 };
unsigned char connected[STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER][STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER/8] = { { 0 } };
int x = cx * STBCC__CLUSTER_SIZE_X;
int y = cy * STBCC__CLUSTER_SIZE_Y;
int step_x, step_y=0, i, j, k, n;
......@@ -751,6 +751,7 @@ static void stbcc__add_connections_to_adjacent_cluster(stbcc_grid *g, int cx, in
n = STBCC__CLUSTER_SIZE_X;
} else {
assert(0);
return;
}
for (k=0; k < n; ++k) {
......@@ -772,7 +773,7 @@ static void stbcc__add_connections_to_adjacent_cluster(stbcc_grid *g, int cx, in
static void stbcc__remove_connections_to_adjacent_cluster(stbcc_grid *g, int cx, int cy, int dx, int dy)
{
unsigned char disconnected[STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER][STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER/8] = { 0 };
unsigned char disconnected[STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER][STBCC__MAX_EDGE_CLUMPS_PER_CLUSTER/8] = { { 0 } };
int x = cx * STBCC__CLUSTER_SIZE_X;
int y = cy * STBCC__CLUSTER_SIZE_Y;
int step_x, step_y=0, i, j, k, n;
......@@ -811,6 +812,7 @@ static void stbcc__remove_connections_to_adjacent_cluster(stbcc_grid *g, int cx,
n = STBCC__CLUSTER_SIZE_X;
} else {
assert(0);
return;
}
for (k=0; k < n; ++k) {
......@@ -954,11 +956,12 @@ static void stbcc__build_clumps_for_cluster(stbcc_grid *g, int cx, int cy)
for (j=1; j < STBCC__CLUSTER_SIZE_Y-1; ++j) {
for (i=1; i < STBCC__CLUSTER_SIZE_X-1; ++i) {
stbcc__tinypoint p = cbi.parent[j][i];
if (p.x == i && p.y == j)
if (p.x == i && p.y == j) {
if (STBCC__MAP_OPEN(g,x+i,y+j))
cbi.label[j][i] = label++;
else
cbi.label[j][i] = STBCC__NULL_CLUMPID;
}
}
}
......
......@@ -308,6 +308,10 @@ CREDITS
Per Vognsen -- idea for hash table API/implementation
*/
#ifdef STBDS_UNIT_TESTS
#define _CRT_SECURE_NO_WARNINGS
#endif
#ifndef INCLUDE_STB_DS_H
#define INCLUDE_STB_DS_H
......@@ -593,6 +597,7 @@ template<class T> static T * stbds_shmode_func_wrapper(T *, size_t elemsize, int
#include <string.h>
#ifndef STBDS_ASSERT
#define STBDS_ASSERT_WAS_UNDEFINED
#define STBDS_ASSERT(x) ((void) 0)
#endif
......@@ -1442,6 +1447,9 @@ void stbds_strreset(stbds_string_arena *a)
#ifdef STBDS_UNIT_TESTS
#include <stdio.h>
#ifdef STBDS_ASSERT_WAS_UNDEFINED
#undef STBDS_ASSERT
#endif
#ifndef STBDS_ASSERT
#define STBDS_ASSERT assert
#include <assert.h>
......@@ -1452,7 +1460,11 @@ typedef struct { int key,b,c,d; } stbds_struct;
static char buffer[256];
char *strkey(int n)
{
#if defined(_WIN32) && defined(__STDC_WANT_SECURE_LIB__)
sprintf_s(buffer, sizeof(buffer), "test_%d", n);
#else
sprintf(buffer, "test_%d", n);
#endif
return buffer;
}
......@@ -1595,9 +1607,10 @@ void stbds_unit_tests(void)
for (i=0; i < testsize; i += 1) {
stbds_struct s = { i,i*2,i*3,i*4 };
stbds_struct t = { i,i*2,i*3,i*4 };
stbds_struct t = { i,i*2,i*3+1,i*4 };
if (i & 1) STBDS_ASSERT(hmgets(map2, s.key).d == 0);
else STBDS_ASSERT(hmgets(map2, s.key).d == i*4);
STBDS_ASSERT(hmget(map, t) == 0);
}
hmfree(map2);
#endif
......
......@@ -166,7 +166,7 @@ int main(int argc, char **argv)
typedef struct stbhw_tileset stbhw_tileset;
// returns description of last error produced by any function (not thread-safe)
STBHW_EXTERN char *stbhw_get_last_error(void);
STBHW_EXTERN const char *stbhw_get_last_error(void);
// build a tileset from an image that conforms to a template created by this
// library. (you allocate storage for stbhw_tileset and function fills it out;
......@@ -345,10 +345,10 @@ static signed char c_color[STB_HBWANG_MAX_Y+6][STB_HBWANG_MAX_X+6];
static signed char v_color[STB_HBWANG_MAX_Y+6][STB_HBWANG_MAX_X+5];
static signed char h_color[STB_HBWANG_MAX_Y+5][STB_HBWANG_MAX_X+6];
static char *stbhw_error;
STBHW_EXTERN char *stbhw_get_last_error(void)
static const char *stbhw_error;
STBHW_EXTERN const char *stbhw_get_last_error(void)
{
char *temp = stbhw_error;
const char *temp = stbhw_error;
stbhw_error = 0;
return temp;
}
......@@ -717,7 +717,7 @@ STBHW_EXTERN int stbhw_generate_image(stbhw_tileset *ts, int **weighting, unsign
// to avoid really obvious repetition (which happens easily with extreme weights)
for (j=0; j < ymax-3; ++j) {
for (i=0; i < xmax-3; ++i) {
int p = (i-j+1) & 3; // corner type
//int p = (i-j+1) & 3; // corner type // unused, not sure what the intent was so commenting it out
STB_HBWANG_ASSERT(i+3 < STB_HBWANG_MAX_X+6);
STB_HBWANG_ASSERT(j+3 < STB_HBWANG_MAX_Y+6);
if (stbhw__match(i,j) && stbhw__match(i,j+1) && stbhw__match(i,j+2)
......@@ -747,7 +747,7 @@ STBHW_EXTERN int stbhw_generate_image(stbhw_tileset *ts, int **weighting, unsign
} else {
i = phase-4;
}
for (i;; i += 4) {
for (;; i += 4) {
int xpos = i * sidelen;
if (xpos >= w)
break;
......@@ -798,7 +798,7 @@ STBHW_EXTERN int stbhw_generate_image(stbhw_tileset *ts, int **weighting, unsign
} else {
i = phase-4;
}
for (i;; i += 4) {
for (;; i += 4) {
int xpos = i * sidelen;
if (xpos >= w)
break;
......
......@@ -339,11 +339,13 @@ typedef unsigned short stbi_us;
extern "C" {
#endif
#ifndef STBIDEF
#ifdef STB_IMAGE_STATIC
#define STBIDEF static
#else
#define STBIDEF extern
#endif
#endif
//////////////////////////////////////////////////////////////////////////////
//
......@@ -1182,7 +1184,7 @@ STBI_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned int
#if defined(_MSC_VER) && defined(STBI_WINDOWS_UTF8)
STBIDEF int stbi_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input)
{
return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, bufferlen, NULL, NULL);
return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL);
}
#endif
......
......@@ -193,6 +193,7 @@ typedef uint16_t stbir_uint16;
typedef uint32_t stbir_uint32;
#endif
#ifndef STBIRDEF
#ifdef STB_IMAGE_RESIZE_STATIC
#define STBIRDEF static
#else
......@@ -202,7 +203,7 @@ typedef uint32_t stbir_uint32;
#define STBIRDEF extern
#endif
#endif
#endif
//////////////////////////////////////////////////////////////////////////////
//
......@@ -2324,8 +2325,9 @@ static int stbir__resize_allocated(stbir__info *info,
if (alpha_channel < 0)
flags |= STBIR_FLAG_ALPHA_USES_COLORSPACE | STBIR_FLAG_ALPHA_PREMULTIPLIED;
if (!(flags&STBIR_FLAG_ALPHA_USES_COLORSPACE) || !(flags&STBIR_FLAG_ALPHA_PREMULTIPLIED))
if (!(flags&STBIR_FLAG_ALPHA_USES_COLORSPACE) || !(flags&STBIR_FLAG_ALPHA_PREMULTIPLIED)) {
STBIR_ASSERT(alpha_channel >= 0 && alpha_channel < info->channels);
}
if (alpha_channel >= info->channels)
return 0;
......
......@@ -299,7 +299,7 @@ STBIW_EXTERN __declspec(dllimport) int __stdcall WideCharToMultiByte(unsigned in
STBIWDEF int stbiw_convert_wchar_to_utf8(char *buffer, size_t bufferlen, const wchar_t* input)
{
return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, bufferlen, NULL, NULL);
return WideCharToMultiByte(65001 /* UTF8 */, 0, input, -1, buffer, (int) bufferlen, NULL, NULL);
}
#endif
......@@ -736,8 +736,8 @@ static int stbi_write_hdr_core(stbi__write_context *s, int x, int y, int comp, f
char header[] = "#?RADIANCE\n# Written by stb_image_write.h\nFORMAT=32-bit_rle_rgbe\n";
s->func(s->context, header, sizeof(header)-1);
#ifdef STBI_MSC_SECURE_CRT
len = sprintf_s(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x);
#ifdef __STDC_WANT_SECURE_LIB__
len = sprintf_s(buffer, sizeof(buffer), "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x);
#else
len = sprintf(buffer, "EXPOSURE= 1.0000000000000\n\n-Y %d +X %d\n", y, x);
#endif
......
......@@ -971,7 +971,7 @@ struct stbte_tilemap
short *undo_buffer;
};
static char *default_category = "[unassigned]";
static char *default_category = (char*) "[unassigned]";
static void stbte__init_gui(void)
{
......@@ -1172,7 +1172,9 @@ void stbte_set_property(stbte_tilemap *tm, int x, int y, int n, float val)
tm->props[y][x][n] = val;
}
#ifdef STBTE_ALLOW_LINK
static void stbte__set_link(stbte_tilemap *tm, int src_x, int src_y, int dest_x, int dest_y, int undo_mode);
#endif
enum
{
......@@ -1254,7 +1256,7 @@ static int stbte__strequal(char *p, char *q)
static void stbte__compute_tileinfo(stbte_tilemap *tm)
{
int i,j,n=0;
int i,j;
tm->num_categories=0;
......@@ -1649,6 +1651,7 @@ static void stbte__draw_rect(int x0, int y0, int x1, int y1, unsigned int color)
STBTE_DRAW_RECT(x0,y0,x1,y1, color);
}
#ifdef STBTE_ALLOW_LINK
static void stbte__draw_line(int x0, int y0, int x1, int y1, unsigned int color)
{
int temp;
......@@ -1662,6 +1665,7 @@ static void stbte__draw_link(int x0, int y0, int x1, int y1, unsigned int color)
stbte__draw_line(x0,y0,x0,y1, color);
stbte__draw_line(x0,y1,x1,y1, color);
}
#endif
static void stbte__draw_frame(int x0, int y0, int x1, int y1, unsigned int color)
{
......@@ -1671,12 +1675,6 @@ static void stbte__draw_frame(int x0, int y0, int x1, int y1, unsigned int color
stbte__draw_rect(x0,y0+1,x0+1,y1,color);
}
static void stbte__draw_halfframe(int x0, int y0, int x1, int y1, unsigned int color)
{
stbte__draw_rect(x0,y0,x1,y0+1,color);
stbte__draw_rect(x0,y0+1,x0+1,y1,color);
}
static int stbte__get_char_width(int ch)
{
return stbte__fontdata[ch-16];
......@@ -1817,15 +1815,13 @@ static void stbte__draw_textbox(int x0, int y0, int x1, int y1, char *text, int
stbte__draw_text(x0+xoff,y0+yoff, text, x1-x0-xoff-1, stbte__color_table[colormode][STBTE__text][colorindex]);
}
static int stbte__button(int colormode, char *label, int x, int y, int textoff, int width, int id, int toggled, int disabled)
static int stbte__button(int colormode, const char *label, int x, int y, int textoff, int width, int id, int toggled, int disabled)
{
int x0=x,y0=y, x1=x+width,y1=y+STBTE__BUTTON_HEIGHT;
int s = STBTE__BUTTON_INTERNAL_SPACING;
int over = !disabled && stbte__hittest(x0,y0,x1,y1,id);
if (stbte__ui.event == STBTE__paint)
stbte__draw_textbox(x0,y0,x1,y1, label,s+textoff,s, colormode, STBTE__INDEX_FOR_ID(id,disabled,toggled));
stbte__draw_textbox(x0,y0,x1,y1, (char*) label,s+textoff,s, colormode, STBTE__INDEX_FOR_ID(id,disabled,toggled));
if (disabled)
return 0;
return (stbte__button_core(id) == 1);
......@@ -1836,8 +1832,6 @@ static int stbte__button_icon(int colormode, char ch, int x, int y, int width, i
int x0=x,y0=y, x1=x+width,y1=y+STBTE__BUTTON_HEIGHT;
int s = STBTE__BUTTON_INTERNAL_SPACING;
int over = stbte__hittest(x0,y0,x1,y1,id);
if (stbte__ui.event == STBTE__paint) {
char label[2] = { ch, 0 };
int pad = (9 - stbte__get_char_width(ch))/2;
......@@ -1851,7 +1845,6 @@ static int stbte__button_icon(int colormode, char ch, int x, int y, int width, i
static int stbte__minibutton(int colormode, int x, int y, int ch, int id)
{
int x0 = x, y0 = y, x1 = x+8, y1 = y+7;
int over = stbte__hittest(x0,y0,x1,y1,id);
if (stbte__ui.event == STBTE__paint) {
char str[2] = { (char)ch, 0 };
stbte__draw_textbox(x0,y0,x1,y1, str,1,0,colormode, STBTE__INDEX_FOR_ID(id,0,0));
......@@ -1862,7 +1855,6 @@ static int stbte__minibutton(int colormode, int x, int y, int ch, int id)
static int stbte__layerbutton(int x, int y, int ch, int id, int toggled, int disabled, int colormode)
{
int x0 = x, y0 = y, x1 = x+10, y1 = y+11;
int over = !disabled && stbte__hittest(x0,y0,x1,y1,id);
if (stbte__ui.event == STBTE__paint) {
char str[2] = { (char)ch, 0 };
int off = (9-stbte__get_char_width(ch))/2;
......@@ -1876,7 +1868,6 @@ static int stbte__layerbutton(int x, int y, int ch, int id, int toggled, int dis
static int stbte__microbutton(int x, int y, int size, int id, int colormode)
{
int x0 = x, y0 = y, x1 = x+size, y1 = y+size;
int over = stbte__hittest(x0,y0,x1,y1,id);
if (stbte__ui.event == STBTE__paint) {
stbte__draw_box(x0,y0,x1,y1, colormode, STBTE__INDEX_FOR_ID(id,0,0));
}
......@@ -1886,7 +1877,6 @@ static int stbte__microbutton(int x, int y, int size, int id, int colormode)
static int stbte__microbutton_dragger(int x, int y, int size, int id, int *pos)
{
int x0 = x, y0 = y, x1 = x+size, y1 = y+size;
int over = stbte__hittest(x0,y0,x1,y1,id);
switch (stbte__ui.event) {
case STBTE__paint:
stbte__draw_box(x0,y0,x1,y1, STBTE__cexpander, STBTE__INDEX_FOR_ID(id,0,0));
......@@ -1912,15 +1902,13 @@ static int stbte__microbutton_dragger(int x, int y, int size, int id, int *pos)
return 0;
}
static int stbte__category_button(char *label, int x, int y, int width, int id, int toggled)
static int stbte__category_button(const char *label, int x, int y, int width, int id, int toggled)
{
int x0=x,y0=y, x1=x+width,y1=y+STBTE__BUTTON_HEIGHT;
int s = STBTE__BUTTON_INTERNAL_SPACING;
int over = stbte__hittest(x0,y0,x1,y1,id);
if (stbte__ui.event == STBTE__paint)
stbte__draw_textbox(x0,y0,x1,y1, label, s,s, STBTE__ccategory_button, STBTE__INDEX_FOR_ID(id,0,toggled));
stbte__draw_textbox(x0,y0,x1,y1, (char*) label, s,s, STBTE__ccategory_button, STBTE__INDEX_FOR_ID(id,0,toggled));
return (stbte__button_core(id) == 1);
}
......@@ -1938,7 +1926,6 @@ static int stbte__slider(int x0, int w, int y, int range, int *value, int id)
{
int x1 = x0+w;
int pos = *value * w / (range+1);
int over = stbte__hittest(x0,y-2,x1,y+3,id);
int event_mouse_move = STBTE__change;
switch (stbte__ui.event) {
case STBTE__paint:
......@@ -1969,15 +1956,22 @@ static int stbte__slider(int x0, int w, int y, int range, int *value, int id)
return STBTE__none;
}
static int stbte__float_control(int x0, int y0, int w, float minv, float maxv, float scale, char *fmt, float *value, int colormode, int id)
#if defined(_WIN32) && defined(__STDC_WANT_SECURE_LIB__)
#define stbte__sprintf sprintf_s
#define stbte__sizeof(s) , sizeof(s)
#else
#define stbte__sprintf sprintf
#define stbte__sizeof(s)
#endif
static int stbte__float_control(int x0, int y0, int w, float minv, float maxv, float scale, const char *fmt, float *value, int colormode, int id)
{
int x1 = x0+w;
int y1 = y0+11;
int over = stbte__hittest(x0,y0,x1,y1,id);
switch (stbte__ui.event) {
case STBTE__paint: {
char text[32];
sprintf(text, fmt ? fmt : "%6.2f", *value);
stbte__sprintf(text stbte__sizeof(text), fmt ? fmt : "%6.2f", *value);
stbte__draw_textbox(x0,y0,x1,y1, text, 1,2, colormode, STBTE__INDEX_FOR_ID(id,0,0));
break;
}
......@@ -2283,7 +2277,6 @@ static void stbte__alert(const char *msg)
static void stbte__brush_predict(stbte_tilemap *tm, short result[])
{
int layer_to_paint = tm->cur_layer;
stbte__tileinfo *ti;
int i;
......@@ -2322,7 +2315,6 @@ static void stbte__brush_predict(stbte_tilemap *tm, short result[])
static void stbte__brush(stbte_tilemap *tm, int x, int y)
{
int layer_to_paint = tm->cur_layer;
stbte__tileinfo *ti;
// find lowest legit layer to paint it on, and put it there
......@@ -2634,7 +2626,6 @@ static void stbte__clear_stack(stbte_tilemap *tm, short result[])
static void stbte__fillrect(stbte_tilemap *tm, int x0, int y0, int x1, int y1, int fill)
{
int i,j;
int x=x0,y=y0;
stbte__begin_undo(tm);
if (x0 > x1) i=x0,x0=x1,x1=i;
......@@ -2734,6 +2725,7 @@ static int stbte__in_rect(int x, int y, int x0, int y0, int w, int h)
return x >= x0 && x < x0+w && y >= y0 && y < y0+h;
}
#ifdef STBTE_ALLOW_LINK
static int stbte__in_src_rect(int x, int y)
{
return stbte__in_rect(x,y, stbte__ui.copy_src_x, stbte__ui.copy_src_y, stbte__ui.copy_width, stbte__ui.copy_height);
......@@ -2743,6 +2735,7 @@ static int stbte__in_dest_rect(int x, int y, int destx, int desty)
{
return stbte__in_rect(x,y, destx, desty, stbte__ui.copy_width, stbte__ui.copy_height);
}
#endif
static void stbte__paste(stbte_tilemap *tm, int mapx, int mapy)
{
......@@ -2934,9 +2927,6 @@ static void stbte__tile_paint(stbte_tilemap *tm, int sx, int sy, int mapx, int m
{
int i;
int id = STBTE__IDMAP(mapx,mapy);
int x0=sx, y0=sy;
int x1=sx+tm->spacing_x, y1=sy+tm->spacing_y;
int over = stbte__hittest(x0,y0,x1,y1, id);
short *data = tm->data[mapy][mapx];
short temp[STBTE_MAX_LAYERS];
......@@ -3366,7 +3356,7 @@ static int stbte__info_value(const char *label, int x, int y, int val, int digit
if (stbte__ui.event == STBTE__paint) {
int off = 9-stbte__get_char_width(label[0]);
char text[16];
sprintf(text, label, digits, val);
stbte__sprintf(text stbte__sizeof(text), label, digits, val);
stbte__draw_text_core(x+off,y, text, 999, STBTE__TEXTCOLOR(STBTE__cpanel),1);
}
if (id) {
......@@ -3414,7 +3404,7 @@ static void stbte__info(stbte_tilemap *tm, int x0, int y0, int w, int h)
static void stbte__layers(stbte_tilemap *tm, int x0, int y0, int w, int h)
{
static char *propmodes[3] = {
static const char *propmodes[3] = {
"default", "always", "never"
};
int num_rows;
......@@ -3449,7 +3439,7 @@ static void stbte__layers(stbte_tilemap *tm, int x0, int y0, int w, int h)
int disabled = (tm->solo_layer >= 0 && tm->solo_layer != i);
if (i-tm->layer_scroll >= 0 && i-tm->layer_scroll < num_rows) {
if (str == NULL)
sprintf(str=text, "%2d", i+1);
stbte__sprintf(str=text stbte__sizeof(text), "%2d", i+1);
if (stbte__button(STBTE__clayer_button, str, x0,y,(i+1<10)*2,xoff-2, STBTE__ID(STBTE__layer,i), tm->cur_layer==i,0))
tm->cur_layer = (tm->cur_layer == i ? -1 : i);
if (stbte__layerbutton(x0+xoff + 0,y+1,'H',STBTE__ID(STBTE__hide,i), tm->layerinfo[i].hidden,disabled,STBTE__clayer_hide))
......@@ -3501,10 +3491,7 @@ static void stbte__categories(stbte_tilemap *tm, int x0, int y0, int w, int h)
static void stbte__tile_in_palette(stbte_tilemap *tm, int x, int y, int slot)
{
stbte__tileinfo *t = &tm->tiles[slot];
int x0=x, y0=y, x1 = x+tm->palette_spacing_x - 1, y1 = y+tm->palette_spacing_y;
int id = STBTE__ID(STBTE__palette, slot);
int over = stbte__hittest(x0,y0,x1,y1, id);
switch (stbte__ui.event) {
case STBTE__paint:
stbte__draw_rect(x,y,x+tm->palette_spacing_x-1,y+tm->palette_spacing_x-1, STBTE_COLOR_TILEPALETTE_BACKGROUND);
......@@ -3561,15 +3548,10 @@ static void stbte__palette_of_tiles(stbte_tilemap *tm, int x0, int y0, int w, in
stbte__scrollbar(x1-4, y0+6, y1-2, &tm->palette_scroll, 0, num_total_rows, num_vis_rows, STBTE__ID(STBTE__scrollbar_id, STBTE__palette));
}
static float stbte__linear_remap(float n, float x0, float x1, float y0, float y1)
{
return (n-x0)/(x1-x0)*(y1-y0) + y0;
}
static float stbte__saved;
static void stbte__props_panel(stbte_tilemap *tm, int x0, int y0, int w, int h)
{
int x1 = x0+w, y1 = y0+h;
int x1 = x0+w;
int i;
int y = y0 + 5, x = x0+2;
int slider_width = 60;
......@@ -3585,8 +3567,8 @@ static void stbte__props_panel(stbte_tilemap *tm, int x0, int y0, int w, int h)
for (i=0; i < STBTE_MAX_PROPERTIES; ++i) {
unsigned int n = STBTE_PROP_TYPE(i, data, p);
if (n) {
char *s = STBTE_PROP_NAME(i, data, p);
if (s == NULL) s = "";
char *s = (char*) STBTE_PROP_NAME(i, data, p);
if (s == NULL) s = (char*) "";
switch (n & 3) {
case STBTE_PROP_bool: {
int flag = (int) p[i];
......
......@@ -4990,7 +4990,13 @@ stb_vorbis * stb_vorbis_open_file(FILE *file, int close_on_free, int *error, con
stb_vorbis * stb_vorbis_open_filename(const char *filename, int *error, const stb_vorbis_alloc *alloc)
{
FILE *f = fopen(filename, "rb");
FILE *f;
#if defined(_WIN32) && defined(__STDC_WANT_SECURE_LIB__)
if (0 != fopen_s(&f, filename, "rb"))
f = NULL;
#else
f = fopen(filename, "rb");
#endif
if (f)
return stb_vorbis_open_file(f, TRUE, error, alloc);
if (error) *error = VORBIS_file_open_failure;
......
......@@ -3552,7 +3552,7 @@ void stbvox_set_buffer(stbvox_mesh_maker *mm, int mesh, int slot, void *buffer,
stbvox_bring_up_to_date(mm);
mm->output_buffer[mesh][slot] = (char *) buffer;
mm->output_cur [mesh][slot] = (char *) buffer;
mm->output_len [mesh][slot] = len;
mm->output_len [mesh][slot] = (int) len;
mm->output_end [mesh][slot] = (char *) buffer + len;
for (i=0; i < STBVOX_MAX_MESH_SLOTS; ++i) {
if (mm->output_buffer[mesh][i]) {
......@@ -3568,7 +3568,7 @@ void stbvox_set_default_mesh(stbvox_mesh_maker *mm, int mesh)
int stbvox_get_quad_count(stbvox_mesh_maker *mm, int mesh)
{
return (mm->output_cur[mesh][0] - mm->output_buffer[mesh][0]) / mm->output_size[mesh][0];
return (int) ((mm->output_cur[mesh][0] - mm->output_buffer[mesh][0]) / mm->output_size[mesh][0]);
}
stbvox_input_description *stbvox_get_input_description(stbvox_mesh_maker *mm)
......
......@@ -113,7 +113,7 @@ int main(int argc, char **argv)
printf("FAILED 4\n");
}
} else {
int i, nope=0;
int i;
#ifdef PNGSUITE_PRIMARY
char **files = stb_readdir_files("pngsuite/primary");
#else
......
#ifdef __clang__
#define STBIWDEF static inline
#endif
#define STB_IMAGE_WRITE_STATIC
#define STB_IMAGE_WRITE_IMPLEMENTATION
#include "stb_image_write.h"
......
#define _CRT_SECURE_NO_WARNINGS
#include <stdlib.h>
#include <stdio.h>
......@@ -56,8 +57,11 @@ void stbir_progress(float p)
STBIR_ASSERT(p >= 0 && p <= 1);
}
#define STBIR_PROGRESS_REPORT stbir_progress
#ifdef __clang__
#define STBIRDEF static inline
#endif
#define STBIR_PROGRESS_REPORT stbir_progress
#define STB_IMAGE_RESIZE_IMPLEMENTATION
#define STB_IMAGE_RESIZE_STATIC
#include "stb_image_resize.h"
......@@ -127,7 +131,7 @@ inline float mtfrand()
return (float)(mtrand() % ninenine)/ninenine;
}
static void resizer(int argc, char **argv)
void resizer(int argc, char **argv)
{
unsigned char* input_pixels;
unsigned char* output_pixels;
......@@ -144,7 +148,7 @@ static void resizer(int argc, char **argv)
exit(0);
}
static void performance(int argc, char **argv)
void performance(int argc, char **argv)
{
unsigned char* input_pixels;
unsigned char* output_pixels;
......
......@@ -2,6 +2,7 @@
* Unit tests for "stb.h"
*/
#define _CRT_SECURE_NO_WARNINGS
//#include <windows.h>