add strict ansi compliance
This commit is contained in:
parent
b10548f0dd
commit
0a69cfc6d2
11 changed files with 102 additions and 99 deletions
|
@ -177,7 +177,7 @@ gboolean startup()
|
|||
a_unfocused_title = appearance_new(Surface_Planar, 0);
|
||||
a_focused_label = appearance_new(Surface_Planar, 1);
|
||||
a_unfocused_label = appearance_new(Surface_Planar, 1);
|
||||
a_icon = appearance_new(Surface_Planar, 0);//1);
|
||||
a_icon = appearance_new(Surface_Planar, 0);/*1);*/
|
||||
a_focused_handle = appearance_new(Surface_Planar, 0);
|
||||
a_unfocused_handle = appearance_new(Surface_Planar, 0);
|
||||
|
||||
|
|
|
@ -5,12 +5,18 @@
|
|||
# Sets the CVS environment variable when building CVS sources.
|
||||
AC_DEFUN([OB_DEBUG],
|
||||
[
|
||||
DEBUG="no"
|
||||
AC_MSG_CHECKING([build target type])
|
||||
AC_MSG_CHECKING([build type])
|
||||
|
||||
AC_ARG_ENABLE([debug],
|
||||
[ --enable-debug build a debug version default=no],
|
||||
[DEBUG=$enableval],[])
|
||||
[ --enable-debug build a debug version default=yes],
|
||||
[DEBUG=$enableval], [DEBUG="yes"])
|
||||
|
||||
AC_ARG_ENABLE([strict-ansi],
|
||||
[ --enable-strict-ansi Enable strict ANSI compliance build default=no],
|
||||
[STRICT=$enableval], [STRICT="no"])
|
||||
if test "$GCC" = "yes" && test "$STRICT" = "yes"; then
|
||||
CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE"
|
||||
fi
|
||||
|
||||
# cvs builds are always debug
|
||||
CVS=""
|
||||
|
@ -18,17 +24,20 @@ AC_DEFUN([OB_DEBUG],
|
|||
test "$CVS" = "yes" && DEBUG="yes"
|
||||
|
||||
if test "$DEBUG" = "yes"; then
|
||||
if test "$CVS" = "yes"; then
|
||||
AC_MSG_RESULT([DEBUG (CVS build)])
|
||||
else
|
||||
AC_MSG_RESULT([DEBUG])
|
||||
fi
|
||||
AC_DEFINE([DEBUG], [1], [Creating a debug build])
|
||||
MSG="DEBUG"
|
||||
else
|
||||
AC_MSG_RESULT([RELEASE])
|
||||
# keep the asserts in
|
||||
# AC_DEFINE([NDEBUG], [1], [Creating a release build])
|
||||
MSG="RELEASE"
|
||||
fi
|
||||
if test "$CVS" = "yes"; then
|
||||
MSG="$MSG (CVS build)"
|
||||
fi
|
||||
if test "$STRICT" = "yes"; then
|
||||
MSG="$MSG with strict ANSI compliance"
|
||||
fi
|
||||
AC_MSG_RESULT([$MSG])
|
||||
|
||||
test "$DEBUG" = "yes" && \
|
||||
AC_DEFINE([DEBUG], [1], [Creating a debug build])
|
||||
|
||||
AM_CONDITIONAL(CVS, test "$CVS" = "yes")
|
||||
])
|
||||
|
@ -56,26 +65,10 @@ AC_DEFUN([OB_COMPILER_FLAGS],
|
|||
FLAGS="$FLAGS -Wcast-qual -Wbad-function-cast -Wpointer-arith"
|
||||
# for Python.h
|
||||
FLAGS="$FLAGS -Wno-long-long"
|
||||
else
|
||||
FLAGS=""
|
||||
fi
|
||||
# else
|
||||
# AC_MSG_RESULT([no, trying other compilers])
|
||||
# AC_MSG_CHECKING(for MIPSpro)
|
||||
# mips_pro_ver=`$CC -version 2>&1 | grep -i mipspro | cut -f4 -d ' '`
|
||||
# if test -z "$mips_pro_ver"; then
|
||||
# AC_MSG_RESULT([no])
|
||||
# else
|
||||
# AC_MSG_RESULT([yes, version $mips_pro_ver.])
|
||||
# AC_MSG_CHECKING(for -LANG:std in CFLAGS)
|
||||
# lang_std_not_set=`echo $CFLAGS | grep "\-LANG:std"`
|
||||
# if test "x$lang_std_not_set" = "x"; then
|
||||
# AC_MSG_RESULT([not set, setting.])
|
||||
# FLAGS="-LANG:std"
|
||||
# else
|
||||
# AC_MSG_RESULT([already set.])
|
||||
# fi
|
||||
# fi
|
||||
if test "$STRICT" = "yes"; then
|
||||
FLAGS="$FLAGS -ansi -pedantic -D_XOPEN_SOURCE"
|
||||
fi
|
||||
fi
|
||||
AC_MSG_CHECKING([for compiler specific flags])
|
||||
AC_MSG_RESULT([$FLAGS])
|
||||
|
|
|
@ -15,6 +15,9 @@
|
|||
#include <X11/Xlib.h>
|
||||
#include <X11/keysym.h>
|
||||
#include <X11/Xatom.h>
|
||||
#ifdef HAVE_SYS_SELECT_H
|
||||
# include <sys/select.h>
|
||||
#endif
|
||||
|
||||
static void event_process(XEvent *e);
|
||||
static void event_handle_root(XEvent *e);
|
||||
|
|
|
@ -19,9 +19,6 @@
|
|||
#ifdef HAVE_FCNTL_H
|
||||
# include <fcntl.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_SELECT_H
|
||||
# include <sys/select.h>
|
||||
#endif
|
||||
#ifdef HAVE_SIGNAL_H
|
||||
# include <signal.h>
|
||||
#endif
|
||||
|
@ -78,7 +75,7 @@ int main(int argc, char **argv)
|
|||
sigemptyset(&sigset);
|
||||
action.sa_handler = dispatch_signal;
|
||||
action.sa_mask = sigset;
|
||||
action.sa_flags = SA_NOCLDSTOP | SA_NODEFER;
|
||||
action.sa_flags = SA_NOCLDSTOP;
|
||||
sigaction(SIGUSR1, &action, (struct sigaction *) NULL);
|
||||
sigaction(SIGPIPE, &action, (struct sigaction *) NULL);
|
||||
sigaction(SIGSEGV, &action, (struct sigaction *) NULL);
|
||||
|
|
|
@ -46,8 +46,8 @@ static Plugin *plugin_new(char *name)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
p->startup = load_sym(p->module, name, "plugin_startup");
|
||||
p->shutdown = load_sym(p->module, name, "plugin_shutdown");
|
||||
p->startup = (PluginStartup)load_sym(p->module, name, "plugin_startup");
|
||||
p->shutdown = (PluginShutdown)load_sym(p->module, name, "plugin_shutdown");
|
||||
|
||||
if (p->startup == NULL || p->shutdown == NULL) {
|
||||
g_module_close(p->module);
|
||||
|
|
|
@ -10,12 +10,21 @@ static GSList *timers; /* nearest timer is at the top */
|
|||
|
||||
#define NEAREST_TIMEOUT (((Timer*)timers->data)->timeout)
|
||||
|
||||
static long timecompare(GTimeVal *a, GTimeVal *b)
|
||||
{
|
||||
long r;
|
||||
|
||||
if ((r = b->tv_sec - a->tv_sec)) return r;
|
||||
return b->tv_usec - a->tv_sec;
|
||||
|
||||
}
|
||||
|
||||
static void insert_timer(Timer *self)
|
||||
{
|
||||
GSList *it;
|
||||
for (it = timers; it != NULL; it = it->next) {
|
||||
Timer *t = it->data;
|
||||
if (!timercmp(&self->timeout, &t->timeout, >)) {
|
||||
if (timecompare(&self->timeout, &t->timeout) <= 0) {
|
||||
timers = g_slist_insert_before(timers, it, self);
|
||||
break;
|
||||
}
|
||||
|
@ -99,7 +108,7 @@ void timer_dispatch(GTimeVal **wait)
|
|||
|
||||
/* the queue is sorted, so if this timer shouldn't fire, none are
|
||||
ready */
|
||||
if (!timercmp(&now, &NEAREST_TIMEOUT, >))
|
||||
if (timecompare(&now, &NEAREST_TIMEOUT) <= 0)
|
||||
break;
|
||||
|
||||
/* we set the last fired time to delay msec after the previous firing,
|
||||
|
|
|
@ -17,7 +17,7 @@ color_rgb *color_parse(char *colorname)
|
|||
XColor xcol;
|
||||
|
||||
g_assert(colorname != NULL);
|
||||
// get rgb values from colorname
|
||||
/* get rgb values from colorname */
|
||||
|
||||
xcol.red = 0;
|
||||
xcol.green = 0;
|
||||
|
@ -50,56 +50,57 @@ color_rgb *color_new(int r, int g, int b)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
//XXX same color could be pointed to twice, this might have to be a refcount
|
||||
/*XXX same color could be pointed to twice, this might have to be a refcount*/
|
||||
|
||||
void color_free(color_rgb *c)
|
||||
{
|
||||
if (c->gc != None)
|
||||
XFreeGC(ob_display, c->gc);
|
||||
free(c);
|
||||
g_free(c);
|
||||
}
|
||||
|
||||
void reduce_depth(pixel32 *data, XImage *im)
|
||||
{
|
||||
// since pixel32 is the largest possible pixel size, we can share the array
|
||||
int r, g, b;
|
||||
int x,y;
|
||||
pixel16 *p = (pixel16*) data;
|
||||
switch (im->bits_per_pixel) {
|
||||
case 32:
|
||||
if ((render_red_offset != default_red_shift) ||
|
||||
(render_blue_offset != default_blue_shift) ||
|
||||
(render_green_offset != default_green_shift)) {
|
||||
for (y = 0; y < im->height; y++) {
|
||||
for (x = 0; x < im->width; x++) {
|
||||
r = (data[x] >> default_red_shift) & 0xFF;
|
||||
g = (data[x] >> default_green_shift) & 0xFF;
|
||||
b = (data[x] >> default_blue_shift) & 0xFF;
|
||||
data[x] = (r << render_red_offset) + (g << render_green_offset) +
|
||||
(b << render_blue_offset);
|
||||
/* since pixel32 is the largest possible pixel size, we can share the
|
||||
array*/
|
||||
int r, g, b;
|
||||
int x,y;
|
||||
pixel16 *p = (pixel16*) data;
|
||||
switch (im->bits_per_pixel) {
|
||||
case 32:
|
||||
if ((render_red_offset != default_red_shift) ||
|
||||
(render_blue_offset != default_blue_shift) ||
|
||||
(render_green_offset != default_green_shift)) {
|
||||
for (y = 0; y < im->height; y++) {
|
||||
for (x = 0; x < im->width; x++) {
|
||||
r = (data[x] >> default_red_shift) & 0xFF;
|
||||
g = (data[x] >> default_green_shift) & 0xFF;
|
||||
b = (data[x] >> default_blue_shift) & 0xFF;
|
||||
data[x] = (r << render_red_offset) + (g << render_green_offset) +
|
||||
(b << render_blue_offset);
|
||||
}
|
||||
data += im->width;
|
||||
}
|
||||
}
|
||||
data += im->width;
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
for (y = 0; y < im->height; y++) {
|
||||
for (x = 0; x < im->width; x++) {
|
||||
r = (data[x] >> default_red_shift) & 0xFF;
|
||||
r = r >> render_red_shift;
|
||||
g = (data[x] >> default_green_shift) & 0xFF;
|
||||
g = g >> render_green_shift;
|
||||
b = (data[x] >> default_blue_shift) & 0xFF;
|
||||
b = b >> render_blue_shift;
|
||||
p[x] = (r << render_red_offset)
|
||||
+ (g << render_green_offset)
|
||||
+ (b << render_blue_offset);
|
||||
}
|
||||
data += im->width;
|
||||
p += im->bytes_per_line/2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
g_message("your bit depth is currently unhandled\n");
|
||||
}
|
||||
break;
|
||||
case 16:
|
||||
for (y = 0; y < im->height; y++) {
|
||||
for (x = 0; x < im->width; x++) {
|
||||
r = (data[x] >> default_red_shift) & 0xFF;
|
||||
r = r >> render_red_shift;
|
||||
g = (data[x] >> default_green_shift) & 0xFF;
|
||||
g = g >> render_green_shift;
|
||||
b = (data[x] >> default_blue_shift) & 0xFF;
|
||||
b = b >> render_blue_shift;
|
||||
p[x] = (r << render_red_offset)
|
||||
+ (g << render_green_offset)
|
||||
+ (b << render_blue_offset);
|
||||
}
|
||||
data += im->width;
|
||||
p += im->bytes_per_line/2;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
g_message("your bit depth is currently unhandled\n");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ ObFont *font_open(char *fontstring)
|
|||
g_warning(_("Unable to load font: %s\n"), "fixed");
|
||||
g_warning(_("Aborting!.\n"));
|
||||
|
||||
exit(3); // can't continue without a font
|
||||
exit(3); /* can't continue without a font */
|
||||
}
|
||||
|
||||
void font_close(ObFont *f)
|
||||
|
|
|
@ -19,19 +19,19 @@ void pixmap_mask_free(pixmap_mask *m)
|
|||
void mask_draw(Pixmap p, TextureMask *m, int width, int height)
|
||||
{
|
||||
int x, y;
|
||||
if (m->mask == None) return; // no mask given
|
||||
if (m->mask == None) return; /* no mask given */
|
||||
|
||||
// set the clip region
|
||||
/* set the clip region */
|
||||
x = (width - m->mask->w) / 2;
|
||||
y = (height - m->mask->h) / 2;
|
||||
XSetClipMask(ob_display, m->color->gc, m->mask->mask);
|
||||
XSetClipOrigin(ob_display, m->color->gc, x, y);
|
||||
|
||||
// fill in the clipped region
|
||||
/* fill in the clipped region */
|
||||
XFillRectangle(ob_display, p, m->color->gc, x, y,
|
||||
x + m->mask->w, y + m->mask->h);
|
||||
|
||||
// unset the clip region
|
||||
/* unset the clip region */
|
||||
XSetClipMask(ob_display, m->color->gc, None);
|
||||
XSetClipOrigin(ob_display, m->color->gc, 0, 0);
|
||||
}
|
||||
|
|
|
@ -24,8 +24,8 @@ void render_startup(void)
|
|||
|
||||
if (render_depth < 8) {
|
||||
XVisualInfo vinfo_template, *vinfo_return;
|
||||
// search for a TrueColor Visual... if we can't find one...
|
||||
// we will use the default visual for the screen
|
||||
/* search for a TrueColor Visual... if we can't find one...
|
||||
we will use the default visual for the screen */
|
||||
int vinfo_nitems;
|
||||
int best = -1;
|
||||
|
||||
|
@ -40,7 +40,7 @@ void render_startup(void)
|
|||
for (i = 0; i < vinfo_nitems; ++i) {
|
||||
if (vinfo_return[i].depth > max_depth) {
|
||||
if (max_depth == 24 && vinfo_return[i].depth > 24)
|
||||
break; // prefer 24 bit over 32
|
||||
break; /* prefer 24 bit over 32 */
|
||||
max_depth = vinfo_return[i].depth;
|
||||
best = i;
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ void truecolor_startup(void)
|
|||
timage = XCreateImage(ob_display, render_visual, render_depth,
|
||||
ZPixmap, 0, NULL, 1, 1, 32, 0);
|
||||
g_assert(timage != NULL);
|
||||
// find the offsets for each color in the visual's masks
|
||||
/* find the offsets for each color in the visual's masks */
|
||||
red_mask = timage->red_mask;
|
||||
green_mask = timage->green_mask;
|
||||
blue_mask = timage->blue_mask;
|
||||
|
@ -122,8 +122,8 @@ void x_paint(Window win, Appearance *l, int x, int y, int w, int h)
|
|||
ZPixmap, 0, NULL, w, h, 32, 0);
|
||||
g_assert(im != NULL);
|
||||
im->byte_order = endian;
|
||||
im->data = (unsigned char *)l->surface.data.planar.pixel_data;
|
||||
reduce_depth(im->data, im);
|
||||
im->data = (char *)l->surface.data.planar.pixel_data;
|
||||
reduce_depth((pixel32*)im->data, im);
|
||||
XPutImage(ob_display, l->pixmap, DefaultGC(ob_display, ob_screen),
|
||||
im, 0, 0, x, y, w, h);
|
||||
im->data = NULL;
|
||||
|
|
|
@ -41,11 +41,11 @@ int main()
|
|||
win =
|
||||
XCreateWindow(ob_display, RootWindow(ob_display, 0)
|
||||
, 10, 10, w, h, 10,
|
||||
CopyFromParent, // depth
|
||||
CopyFromParent, // class
|
||||
CopyFromParent, // visual
|
||||
0, // valuemask
|
||||
0); // attributes
|
||||
CopyFromParent, /* depth */
|
||||
CopyFromParent, /* class */
|
||||
CopyFromParent, /* visual */
|
||||
0, /* valuemask */
|
||||
0); /* attributes */
|
||||
XMapWindow(ob_display, win);
|
||||
XSelectInput(ob_display, win, ExposureMask | StructureNotifyMask);
|
||||
root = RootWindow (ob_display, DefaultScreen (ob_display));
|
||||
|
|
Loading…
Reference in a new issue