Fix compiler warnings, last part (STR #2988).

The fixes in this commit include those proposed in file #6
(fltk-misc-1.patch) with a few modifications (see comment on STR).

Changes in src/fl_set_font.cxx are not included (see comment #13).


git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11243 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Albrecht Schlosser 2016-02-27 15:14:42 +00:00
parent c33f143710
commit 753aa53c2e
25 changed files with 60 additions and 47 deletions

View File

@ -124,7 +124,7 @@ FL_EXPORT unsigned fl_utf8toa (const char *src, unsigned srclen, char *dst, unsi
FL_EXPORT unsigned fl_utf8froma (char *dst, unsigned dstlen, const char *src, unsigned srclen);
/* F2: Returns true if the current O/S locale is UTF-8 */
FL_EXPORT int fl_utf8locale();
FL_EXPORT int fl_utf8locale(void);
/* F2: Examine the first len characters of src, to determine if the input text is UTF-8 or not
* NOTE: The value returned is not simply boolean - it contains information about the probable

View File

@ -359,7 +359,7 @@ int CodeEditor::auto_indent(int, CodeEditor* e) {
char *text = e->buffer()->text_range(start, pos);
char *ptr;
for (ptr = text; isspace(*ptr); ptr ++);
for (ptr = text; isspace(*ptr); ptr ++) {/*empty*/}
*ptr = '\0';
if (*text) {
// use only a single 'insert' call to avoid redraw issues

View File

@ -522,7 +522,7 @@ int Widget_Browser::handle(int e) {
k->visible = 1;
if (k->is_parent() && !k->open_) {
Fl_Type *j;
for (j = k->next; j && j->level>k->level; j = j->next);
for (j = k->next; j && j->level>k->level; j = j->next) {/*empty*/}
k = j;
} else
k = k->next;
@ -579,7 +579,7 @@ void Fl_Type::add(Fl_Type *p) {
Fl_Type *q;
int newlevel;
if (p) {
for (q = p->next; q && q->level > p->level; q = q->next);
for (q = p->next; q && q->level > p->level; q = q->next) {/*empty*/}
newlevel = p->level+1;
} else {
q = 0;
@ -774,7 +774,7 @@ void select_all_cb(Fl_Widget *,void *) {
Fl_Type *p = Fl_Type::current ? Fl_Type::current->parent : 0;
if (in_this_only) {
Fl_Type *t = p;
for (; t && t != in_this_only; t = t->parent);
for (; t && t != in_this_only; t = t->parent) {/*empty*/}
if (t != in_this_only) p = in_this_only;
}
for (;;) {
@ -798,7 +798,7 @@ void select_none_cb(Fl_Widget *,void *) {
Fl_Type *p = Fl_Type::current ? Fl_Type::current->parent : 0;
if (in_this_only) {
Fl_Type *t = p;
for (; t && t != in_this_only; t = t->parent);
for (; t && t != in_this_only; t = t->parent) {/*empty*/}
if (t != in_this_only) p = in_this_only;
}
for (;;) {
@ -820,7 +820,7 @@ void select_none_cb(Fl_Widget *,void *) {
static void delete_children(Fl_Type *p) {
Fl_Type *f;
for (f = p; f && f->next && f->next->level > p->level; f = f->next);
for (f = p; f && f->next && f->next->level > p->level; f = f->next) {/*empty*/}
for (; f != p; ) {
Fl_Type *g = f->prev;
delete f;
@ -851,7 +851,7 @@ void Fl_Type::move_before(Fl_Type* g) {
if (level != g->level) printf("move_before levels don't match! %d %d\n",
level, g->level);
Fl_Type* n;
for (n = next; n && n->level > level; n = n->next);
for (n = next; n && n->level > level; n = n->next) {/*empty*/}
if (n == g) return;
Fl_Type *l = n ? n->prev : Fl_Type::last;
prev->next = n;
@ -875,7 +875,7 @@ void earlier_cb(Fl_Widget*,void*) {
Fl_Type* nxt = f->next;
if (f->selected) {
Fl_Type* g;
for (g = f->prev; g && g->level > f->level; g = g->prev);
for (g = f->prev; g && g->level > f->level; g = g->prev) {/*empty*/}
if (g && g->level == f->level && !g->selected) {
f->move_before(g);
mod = 1;
@ -893,7 +893,7 @@ void later_cb(Fl_Widget*,void*) {
Fl_Type* prv = f->prev;
if (f->selected) {
Fl_Type* g;
for (g = f->next; g && g->level > f->level; g = g->next);
for (g = f->next; g && g->level > f->level; g = g->next) {/*empty*/}
if (g && g->level == f->level && !g->selected) {
g->move_before(f);
mod = 1;

View File

@ -1976,7 +1976,7 @@ const char *array_name(Fl_Widget_Type *o) {
Fl_Type *t = o->prev;
Fl_Type *tp = o;
const char *cn = o->class_name(1);
for (; t && t->class_name(1) == cn; tp = t, t = t->prev);
for (; t && t->class_name(1) == cn; tp = t, t = t->prev) {/*empty*/}
for (t = tp; t && t->class_name(1) == cn; t = t->next) {
if (t == o) {sawthis=1; continue;}
const char *e = t->name();
@ -2710,7 +2710,7 @@ int Fl_Widget_Type::read_fdesign(const char* propname, const char* value) {
if (sscanf(value,"%f %f %f %f",&x,&y,&w,&h) == 4) {
if (fdesign_flip) {
Fl_Type *p;
for (p = parent; p && !p->is_window(); p = p->parent);
for (p = parent; p && !p->is_window(); p = p->parent) {/*empty*/}
if (p && p->is_widget()) y = ((Fl_Widget_Type*)p)->o->h()-(y+h);
}
x += pasteoffset;

View File

@ -3,7 +3,7 @@
#
# FLUID makefile for the Fast Light Tool Kit (FLTK).
#
# Copyright 1998-2016 by Bill Spitzak and others.
# Copyright 1998-2010 by Bill Spitzak and others.
#
# This library is free software. Distribution and use rights are outlined in
# the file "COPYING" which should have been included with this file. If this
@ -57,7 +57,7 @@ fluid-shared$(EXEEXT): $(OBJECTS) ../src/$(DSONAME) ../src/$(FLDSONAME) \
$(CXX) $(ARCHFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) $(LINKSHARED) $(LDLIBS)
clean:
-$(RM) *.o core.* *~ *.bck *.bck *.bak
-$(RM) *.o core.* *~ *.bck *.bck
-$(RM) core fluid$(EXEEXT) fluid-shared$(EXEEXT)
-$(RM) fluid.app/Contents/MacOS/fluid$(EXEEXT)

View File

@ -339,7 +339,7 @@ int write_file(const char *filename, int selected_only) {
p->write();
write_string("\n");
int q = p->level;
for (p = p->next; p && p->level > q; p = p->next);
for (p = p->next; p && p->level > q; p = p->next) {/*empty*/}
} else {
p = p->next;
}

View File

@ -838,7 +838,7 @@ void Fl::remove_handler(Fl_Event_Handler ha) {
handler_link *l, *p;
// Search for the handler in the list...
for (l = handlers, p = 0; l && l->handle != ha; p = l, l = l->next);
for (l = handlers, p = 0; l && l->handle != ha; p = l, l = l->next) {/*empty*/}
if (l) {
// Found it, so remove it from the list...

View File

@ -1404,7 +1404,7 @@ Fl_File_Chooser::update_preview()
if (*ptr || ptr == preview_text_) {
for (ptr = preview_text_;
*ptr && (isprint(*ptr & 255) || isspace(*ptr & 255));
ptr ++);
ptr ++) {/*empty*/}
}
if (*ptr || ptr == preview_text_) {

View File

@ -120,7 +120,7 @@ Fl_File_Icon::~Fl_File_Icon() {
// Find the icon in the list...
for (current = first_, prev = (Fl_File_Icon *)0;
current != this && current != (Fl_File_Icon *)0;
prev = current, current = current->next_);
prev = current, current = current->next_) {/*empty*/}
// Remove the icon from the list as needed...
if (current)

View File

@ -1268,7 +1268,7 @@ void Fl_Help_View::format() {
// Copy the title in the document...
for (s = title_;
*ptr != '<' && *ptr && s < (title_ + sizeof(title_) - 1);
*s++ = *ptr++);
*s++ = *ptr++) {/*empty*/}
*s = '\0';
s = buf;

View File

@ -27,6 +27,7 @@ void Fl_Image_Surface::prepare_(int w, int h, int highres) {
height = h;
#if FL_ABI_VERSION < 10304
highres = 0;
if (highres) {/* avoid compiler warning (Linux + Windows */}
#endif
#ifdef __APPLE__
offscreen = fl_create_offscreen(highres ? 2*w : w, highres ? 2*h : h);

View File

@ -1213,7 +1213,7 @@ int Fl_Input_::static_value(const char* str, int len) {
int i = 0;
// find first different character:
if (value_) {
for (; i<size_ && i<len && str[i]==value_[i]; i++);
for (; i<size_ && i<len && str[i]==value_[i]; i++) {/*empty*/}
if (i==size_ && i==len) return 0;
}
minimal_update(i);

View File

@ -90,7 +90,7 @@ Fl_XBM_Image::Fl_XBM_Image(const char *name) : Fl_Bitmap((const char *)0,0,0) {
*ptr++ = (uchar)t;
i ++;
}
while (*a && *a++ != ',');
while (*a && *a++ != ',') {/*empty*/}
}
}

View File

@ -83,7 +83,7 @@ int fl_filename_absolute(char *to, int tolen, const char *from) {
while (*start == '.') {
if (start[1]=='.' && isdirsep(start[2])) {
char *b;
for (b = a-1; b >= temp && !isdirsep(*b); b--);
for (b = a-1; b >= temp && !isdirsep(*b); b--) {/*empty*/}
if (b < temp) break;
a = b;
start += 3;

View File

@ -70,7 +70,7 @@ int fl_filename_expand(char *to,int tolen, const char *from) {
int ret = 0;
for (char *a=temp; a<end; ) { // for each slash component
char *e; for (e=a; e<end && !isdirsep(*e); e++); // find next slash
char *e; for (e=a; e<end && !isdirsep(*e); e++) {/*empty*/} // find next slash
const char *value = 0; // this will point at substitute value
switch (*a) {
case '~': // a home directory name

View File

@ -174,7 +174,7 @@ void fl_draw(
// Start with a symbol...
for (symptr = symbol[0];
*str && !isspace(*str) && symptr < (symbol[0] + sizeof(symbol[0]) - 1);
*symptr++ = *str++);
*symptr++ = *str++) {/*empty*/}
*symptr = '\0';
if (isspace(*str)) str++;
symwidth[0] = (w < h ? w : h);

View File

@ -541,6 +541,7 @@ Fl_Region XRectangleRegion(int x, int y, int w, int h) {
void Fl_Graphics_Driver::restore_clip() {
fl_clip_state_number++;
if (!fl_gc) return;
Fl_Region r = rstack[rstackptr];
#if defined(USE_X11)
if (r) XSetRegion(fl_display, fl_gc, r);

View File

@ -130,7 +130,7 @@ static unsigned short cp1252[32] = {
*/
unsigned fl_utf8decode(const char* p, const char* end, int* len)
{
unsigned char c = *(unsigned char*)p;
unsigned char c = *(const unsigned char*)p;
if (c < 0x80) {
if (len) *len = 1;
return c;
@ -149,17 +149,17 @@ unsigned fl_utf8decode(const char* p, const char* end, int* len)
((p[0] & 0x1f) << 6) +
((p[1] & 0x3f));
} else if (c == 0xe0) {
if (((unsigned char*)p)[1] < 0xa0) goto FAIL;
if (((const unsigned char*)p)[1] < 0xa0) goto FAIL;
goto UTF8_3;
#if STRICT_RFC3629
} else if (c == 0xed) {
/* RFC 3629 says surrogate chars are illegal. */
if (((unsigned char*)p)[1] >= 0xa0) goto FAIL;
if (((const unsigned char*)p)[1] >= 0xa0) goto FAIL;
goto UTF8_3;
} else if (c == 0xef) {
/* 0xfffe and 0xffff are also illegal characters */
if (((unsigned char*)p)[1]==0xbf &&
((unsigned char*)p)[2]>=0xbe) goto FAIL;
if (((const unsigned char*)p)[1]==0xbf &&
((const unsigned char*)p)[2]>=0xbe) goto FAIL;
goto UTF8_3;
#endif
} else if (c < 0xf0) {
@ -171,7 +171,7 @@ unsigned fl_utf8decode(const char* p, const char* end, int* len)
((p[1] & 0x3f) << 6) +
((p[2] & 0x3f));
} else if (c == 0xf0) {
if (((unsigned char*)p)[1] < 0x90) goto FAIL;
if (((const unsigned char*)p)[1] < 0x90) goto FAIL;
goto UTF8_4;
} else if (c < 0xf4) {
UTF8_4:
@ -180,8 +180,8 @@ unsigned fl_utf8decode(const char* p, const char* end, int* len)
#if STRICT_RFC3629
/* RFC 3629 says all codes ending in fffe or ffff are illegal: */
if ((p[1]&0xf)==0xf &&
((unsigned char*)p)[2] == 0xbf &&
((unsigned char*)p)[3] >= 0xbe) goto FAIL;
((const unsigned char*)p)[2] == 0xbf &&
((const unsigned char*)p)[3] >= 0xbe) goto FAIL;
#endif
return
((p[0] & 0x07) << 18) +
@ -189,7 +189,7 @@ unsigned fl_utf8decode(const char* p, const char* end, int* len)
((p[2] & 0x3f) << 6) +
((p[3] & 0x3f));
} else if (c == 0xf4) {
if (((unsigned char*)p)[1] > 0x8f) goto FAIL; /* after 0x10ffff */
if (((const unsigned char*)p)[1] > 0x8f) goto FAIL; /* after 0x10ffff */
goto UTF8_4;
} else {
FAIL:
@ -321,9 +321,9 @@ int fl_utf8encode(unsigned ucs, char* buf) {
return 4;
} else {
/* encode 0xfffd: */
buf[0] = 0xefU;
buf[1] = 0xbfU;
buf[2] = 0xbdU;
buf[0] = (char)0xef;
buf[1] = (char)0xbf;
buf[2] = (char)0xbd;
return 3;
}
}
@ -556,7 +556,7 @@ unsigned fl_utf8toa(const char* src, unsigned srclen,
if (dstlen) for (;;) {
unsigned char c;
if (p >= e) {dst[count] = 0; return count;}
c = *(unsigned char*)p;
c = *(const unsigned char*)p;
if (c < 0xC2) { /* ascii or bad code */
dst[count] = c;
p++;
@ -704,7 +704,7 @@ unsigned fl_utf8froma(char* dst, unsigned dstlen,
if (dstlen) for (;;) {
unsigned char ucs;
if (p >= e) {dst[count] = 0; return count;}
ucs = *(unsigned char*)p++;
ucs = *(const unsigned char*)p++;
if (ucs < 0x80U) {
dst[count++] = ucs;
if (count >= dstlen) {dst[count-1] = 0; break;}
@ -716,7 +716,7 @@ unsigned fl_utf8froma(char* dst, unsigned dstlen,
}
/* we filled dst, measure the rest: */
while (p < e) {
unsigned char ucs = *(unsigned char*)p++;
unsigned char ucs = *(const unsigned char*)p++;
if (ucs < 0x80U) {
count++;
} else {
@ -806,7 +806,7 @@ unsigned fl_utf8to_mb(const char* src, unsigned srclen,
wchar_t lbuf[1024];
wchar_t* buf = lbuf;
unsigned length = fl_utf8towc(src, srclen, buf, 1024);
int ret; // note: wcstombs() returns unsigned(length) or unsigned(-1)
int ret; /* note: wcstombs() returns unsigned(length) or unsigned(-1) */
if (length >= 1024) {
buf = (wchar_t*)(malloc((length+1)*sizeof(wchar_t)));
fl_utf8towc(src, srclen, buf, length+1);

View File

@ -27,6 +27,9 @@
# endif /* HAVE_SCANDIR */
#endif
/* Avoid "ISO C forbids an empty translation unit" warning */
typedef int dummy;
/*
* End of "$Id$".
*/

View File

@ -326,7 +326,7 @@ int Fl::screen_num(int x, int y) {
if (num_screens < 0) screen_init();
for (int i = 0; i < num_screens; i ++) {
int sx, sy, sw, sh;
int sx = 0, sy = 0, sw = 0, sh = 0;
Fl::screen_xywh(sx, sy, sw, sh, i);
if ((x >= sx) && (x < (sx+sw)) && (y >= sy) && (y < (sy+sh))) {
screen = i;

View File

@ -254,7 +254,7 @@ int fl_vsnprintf(char* buffer, size_t bufsize, const char* format, va_list ap) {
if (bufptr) *bufptr = '\0';
return (bytes);
#endif //HAVE_VSNPRINTF
#endif /* HAVE_VSNPRINTF */
}
int fl_snprintf(char* str, size_t size, const char* fmt, ...) {

View File

@ -19,6 +19,10 @@
* This file is required on all platforms for UTF-8 support
*/
#if !defined(WIN32) && !defined(__APPLE__)
# include "../Xutf8.h"
#endif /* !defined(WIN32) && !defined(__APPLE__) */
#include "headers/case.h"
#include <stdlib.h>

View File

@ -18,6 +18,10 @@
* This file is required on all platforms for utf8 support
*/
#if !defined(WIN32) && !defined(__APPLE__)
# include "../Xutf8.h"
#endif /* !defined(WIN32) && !defined(__APPLE__) */
#include "headers/spacing.h"
unsigned short

View File

@ -379,7 +379,7 @@ XUtf8DrawRtlString(Display *display,
ptr = buf + 128;
}
ulen = XFastConvertUtf8ToUcs((unsigned char*)string, num_bytes, &ucs);
ulen = XFastConvertUtf8ToUcs((const unsigned char*)string, num_bytes, &ucs);
if (ulen < 1) ulen = 1;
@ -496,7 +496,7 @@ XUtf8DrawString(Display *display,
i = 0;
}
ulen = XFastConvertUtf8ToUcs((unsigned char*)string, num_bytes, &ucs);
ulen = XFastConvertUtf8ToUcs((const unsigned char*)string, num_bytes, &ucs);
if (ulen < 1) ulen = 1;
@ -629,7 +629,7 @@ XUtf8_measure_extents(
i = 0;
}
ulen = XFastConvertUtf8ToUcs((unsigned char*)string, num_bytes, &ucs);
ulen = XFastConvertUtf8ToUcs((const unsigned char*)string, num_bytes, &ucs);
if (ulen < 1) ulen = 1;
@ -752,7 +752,7 @@ XUtf8TextWidth(XUtf8FontStruct *font_set,
i = 0;
}
ulen = XFastConvertUtf8ToUcs((unsigned char*)string, num_bytes, &ucs);
ulen = XFastConvertUtf8ToUcs((const unsigned char*)string, num_bytes, &ucs);
if (ulen < 1) ulen = 1;

View File

@ -500,7 +500,7 @@ int fullexpand(node *f, int level) {
node* n = f->son;
if (!n->jump && n->brother) {if (level<1) return(1); level--;}
int i;
node* sons[32]; for (i=0; (sons[i++] = n); n = n->brother);
node* sons[32]; for (i=0; (sons[i++] = n); n = n->brother) {/*empty*/}
int ret = 1;
for (i=0; ret && (n = sons[i++]);) {
makemove(n);