mirror of
https://gitlab.freedesktop.org/xorg/lib/libxcursor.git
synced 2026-05-05 12:18:14 +02:00
quiet normal gcc warnings using casts (no object change)
Signed-off-by: Thomas E. Dickey <dickey@invisible-island.net>
This commit is contained in:
parent
204b6f1308
commit
cea72e1427
5 changed files with 64 additions and 59 deletions
55
src/cursor.c
55
src/cursor.c
|
|
@ -30,7 +30,7 @@ XcursorCursorsCreate (Display *dpy, int size)
|
|||
XcursorCursors *cursors;
|
||||
|
||||
cursors = malloc (sizeof (XcursorCursors) +
|
||||
size * sizeof (Cursor));
|
||||
(size_t) size * sizeof (Cursor));
|
||||
if (!cursors)
|
||||
return NULL;
|
||||
cursors->ref = 1;
|
||||
|
|
@ -124,7 +124,7 @@ _XcursorDivideAlpha (XcursorUInt value, XcursorUInt alpha)
|
|||
value = value * 255 / alpha;
|
||||
if (value > 255)
|
||||
value = 255;
|
||||
return value | (value << 8);
|
||||
return (unsigned short) (value | (value << 8));
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -194,6 +194,8 @@ _XcursorCompareBlue (const void *a, const void *b)
|
|||
return (int) (((*ap >> 0) & 0xff) - ((*bp >> 0) & 0xff));
|
||||
}
|
||||
|
||||
#define ScaledPixels(c,n) ((c)/(XcursorPixel)(n))
|
||||
|
||||
static XcursorPixel
|
||||
_XcursorAverageColor (XcursorPixel *pixels, int npixels)
|
||||
{
|
||||
|
|
@ -212,7 +214,10 @@ _XcursorAverageColor (XcursorPixel *pixels, int npixels)
|
|||
green += (p >> 8) & 0xff;
|
||||
blue += (p >> 0) & 0xff;
|
||||
}
|
||||
return (0xffU << 24) | ((red/npixels) << 16) | ((green/npixels) << 8) | (blue/npixels);
|
||||
return (0xffU << 24)
|
||||
| (ScaledPixels(red, npixels) << 16)
|
||||
| (ScaledPixels(green, npixels) << 8)
|
||||
| ScaledPixels(blue, npixels);
|
||||
}
|
||||
|
||||
typedef struct XcursorCoreCursor {
|
||||
|
|
@ -258,7 +263,7 @@ _XcursorHeckbertMedianCut (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
pc = colors;
|
||||
max_blue = max_green = max_red = 0;
|
||||
min_blue = min_green = min_red = 255;
|
||||
n = npixels;
|
||||
n = (int) npixels;
|
||||
while (n--)
|
||||
{
|
||||
p = *po++;
|
||||
|
|
@ -285,7 +290,7 @@ _XcursorHeckbertMedianCut (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
p = 0;
|
||||
*pn++ = p;
|
||||
}
|
||||
ncolors = pc - colors;
|
||||
ncolors = (int) (pc - colors);
|
||||
|
||||
/*
|
||||
* Compute longest dimension and sort
|
||||
|
|
@ -297,7 +302,7 @@ _XcursorHeckbertMedianCut (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
compare = _XcursorCompareRed;
|
||||
else
|
||||
compare = _XcursorCompareBlue;
|
||||
qsort (colors, ncolors, sizeof (XcursorPixel), compare);
|
||||
qsort (colors, (size_t) ncolors, sizeof (XcursorPixel), compare);
|
||||
/*
|
||||
* Compute average colors on both sides of the cut
|
||||
*/
|
||||
|
|
@ -363,8 +368,8 @@ _XcursorBayerOrderedDither (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
for (x = 0; x < image->width; x++)
|
||||
{
|
||||
p = *pixel++;
|
||||
a = ((p >> 24) * DITHER_SIZE + 127) / 255;
|
||||
i = (_XcursorPixelBrightness (p) * DITHER_SIZE + 127) / 255;
|
||||
a = (XcursorPixel) (((p >> 24) * DITHER_SIZE + 127) / 255);
|
||||
i = (XcursorPixel) ((_XcursorPixelBrightness (p) * DITHER_SIZE + 127) / 255);
|
||||
d = orderedDither[y&(DITHER_DIM-1)][x&(DITHER_DIM-1)];
|
||||
if (a > d)
|
||||
{
|
||||
|
|
@ -398,9 +403,9 @@ _XcursorFloydSteinberg (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
unsigned int npixels = image->width * image->height;
|
||||
int n;
|
||||
int right = 1;
|
||||
int belowLeft = image->width - 1;
|
||||
int below = image->width;
|
||||
int belowRight = image->width + 1;
|
||||
int belowLeft = (int) (image->width - 1);
|
||||
int below = (int) image->width;
|
||||
int belowRight = (int) (image->width + 1);
|
||||
int iError, aError;
|
||||
int iErrorRight, aErrorRight;
|
||||
int iErrorBelowLeft, aErrorBelowLeft;
|
||||
|
|
@ -420,7 +425,7 @@ _XcursorFloydSteinberg (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
pixel = image->pixels;
|
||||
iP = iPicture;
|
||||
aP = aPicture;
|
||||
n = npixels;
|
||||
n = (int) npixels;
|
||||
max_inten = 0;
|
||||
min_inten = 0xff;
|
||||
while (n--)
|
||||
|
|
@ -501,10 +506,10 @@ _XcursorFloydSteinberg (const XcursorImage *image, XcursorCoreCursor *core)
|
|||
free (iPicture);
|
||||
core->on_color.red =
|
||||
core->on_color.green =
|
||||
core->on_color.blue = (min_inten | min_inten << 8);
|
||||
core->on_color.blue = (unsigned short) (min_inten | min_inten << 8);
|
||||
core->off_color.red =
|
||||
core->off_color.green =
|
||||
core->off_color.blue = (max_inten | max_inten << 8);
|
||||
core->off_color.blue = (unsigned short) (max_inten | max_inten << 8);
|
||||
return True;
|
||||
}
|
||||
|
||||
|
|
@ -560,8 +565,8 @@ XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
|
|||
GC gc;
|
||||
XRenderPictFormat *format;
|
||||
|
||||
ximage.width = image->width;
|
||||
ximage.height = image->height;
|
||||
ximage.width = (int) image->width;
|
||||
ximage.height = (int) image->height;
|
||||
ximage.xoffset = 0;
|
||||
ximage.format = ZPixmap;
|
||||
ximage.data = (char *) image->pixels;
|
||||
|
|
@ -571,7 +576,7 @@ XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
|
|||
ximage.bitmap_pad = 32;
|
||||
ximage.depth = 32;
|
||||
ximage.bits_per_pixel = 32;
|
||||
ximage.bytes_per_line = image->width * 4;
|
||||
ximage.bytes_per_line = (int) (image->width * 4);
|
||||
ximage.red_mask = 0xff0000;
|
||||
ximage.green_mask = 0x00ff00;
|
||||
ximage.blue_mask = 0x0000ff;
|
||||
|
|
@ -608,12 +613,12 @@ XcursorImageLoadCursor (Display *dpy, const XcursorImage *image)
|
|||
0, NULL, image->width, image->height,
|
||||
32, 0);
|
||||
core.src_image->data = Xmalloc (image->height *
|
||||
core.src_image->bytes_per_line);
|
||||
(unsigned) core.src_image->bytes_per_line);
|
||||
core.msk_image = XCreateImage (dpy, NULL, 1, ZPixmap,
|
||||
0, NULL, image->width, image->height,
|
||||
32, 0);
|
||||
core.msk_image->data = Xmalloc (image->height *
|
||||
core.msk_image->bytes_per_line);
|
||||
(unsigned) core.msk_image->bytes_per_line);
|
||||
|
||||
switch (info->dither) {
|
||||
case XcursorDitherThreshold:
|
||||
|
|
@ -708,7 +713,7 @@ XcursorImagesLoadCursor (Display *dpy, const XcursorImages *images)
|
|||
|
||||
if (!cursors)
|
||||
return 0;
|
||||
anim = malloc (cursors->ncursor * sizeof (XAnimCursor));
|
||||
anim = malloc ((size_t) cursors->ncursor * sizeof (XAnimCursor));
|
||||
if (!anim)
|
||||
{
|
||||
XcursorCursorsDestroy (cursors);
|
||||
|
|
@ -777,11 +782,11 @@ _XcursorCreateGlyphCursor(Display *dpy,
|
|||
|
||||
LockDisplay(dpy);
|
||||
GetReq(CreateGlyphCursor, req);
|
||||
cid = req->cid = XAllocID(dpy);
|
||||
req->source = source_font;
|
||||
req->mask = mask_font;
|
||||
req->sourceChar = source_char;
|
||||
req->maskChar = mask_char;
|
||||
cid = req->cid = (CARD32) XAllocID(dpy);
|
||||
req->source = (CARD32) source_font;
|
||||
req->mask = (CARD32) mask_font;
|
||||
req->sourceChar = (CARD16) source_char;
|
||||
req->maskChar = (CARD16) mask_char;
|
||||
req->foreRed = foreground->red;
|
||||
req->foreGreen = foreground->green;
|
||||
req->foreBlue = foreground->blue;
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ _XcursorDefaultParseBool (char *v)
|
|||
|
||||
c0 = *v;
|
||||
if (isupper ((int)c0))
|
||||
c0 = tolower (c0);
|
||||
c0 = (char) tolower (c0);
|
||||
if (c0 == 't' || c0 == 'y' || c0 == '1')
|
||||
return 1;
|
||||
if (c0 == 'f' || c0 == 'n' || c0 == '0')
|
||||
|
|
@ -83,7 +83,7 @@ _XcursorDefaultParseBool (char *v)
|
|||
{
|
||||
c1 = v[1];
|
||||
if (isupper ((int)c1))
|
||||
c1 = tolower (c1);
|
||||
c1 = (char) tolower (c1);
|
||||
if (c1 == 'n')
|
||||
return 1;
|
||||
if (c1 == 'f')
|
||||
|
|
|
|||
44
src/file.c
44
src/file.c
|
|
@ -35,14 +35,14 @@ XcursorImageCreate (int width, int height)
|
|||
return NULL;
|
||||
|
||||
image = malloc (sizeof (XcursorImage) +
|
||||
width * height * sizeof (XcursorPixel));
|
||||
(size_t) (width * height) * sizeof (XcursorPixel));
|
||||
if (!image)
|
||||
return NULL;
|
||||
image->version = XCURSOR_IMAGE_VERSION;
|
||||
image->pixels = (XcursorPixel *) (image + 1);
|
||||
image->size = width > height ? width : height;
|
||||
image->width = width;
|
||||
image->height = height;
|
||||
image->size = (XcursorDim) (width > height ? width : height);
|
||||
image->width = (XcursorDim) width;
|
||||
image->height = (XcursorDim) height;
|
||||
image->delay = 0;
|
||||
return image;
|
||||
}
|
||||
|
|
@ -59,7 +59,7 @@ XcursorImagesCreate (int size)
|
|||
XcursorImages *images;
|
||||
|
||||
images = malloc (sizeof (XcursorImages) +
|
||||
size * sizeof (XcursorImage *));
|
||||
(size_t) size * sizeof (XcursorImage *));
|
||||
if (!images)
|
||||
return NULL;
|
||||
images->nimage = 0;
|
||||
|
|
@ -109,7 +109,7 @@ XcursorCommentCreate (XcursorUInt comment_type, int length)
|
|||
if (length < 0 || length > XCURSOR_COMMENT_MAX_LEN)
|
||||
return NULL;
|
||||
|
||||
comment = malloc (sizeof (XcursorComment) + length + 1);
|
||||
comment = malloc (sizeof (XcursorComment) + (size_t) length + 1);
|
||||
if (!comment)
|
||||
return NULL;
|
||||
comment->version = XCURSOR_COMMENT_VERSION;
|
||||
|
|
@ -131,7 +131,7 @@ XcursorCommentsCreate (int size)
|
|||
XcursorComments *comments;
|
||||
|
||||
comments = malloc (sizeof (XcursorComments) +
|
||||
size * sizeof (XcursorComment *));
|
||||
(size_t) size * sizeof (XcursorComment *));
|
||||
if (!comments)
|
||||
return NULL;
|
||||
comments->ncomment = 0;
|
||||
|
|
@ -186,10 +186,10 @@ _XcursorWriteUInt (XcursorFile *file, XcursorUInt u)
|
|||
if (!file)
|
||||
return XcursorFalse;
|
||||
|
||||
bytes[0] = u;
|
||||
bytes[1] = u >> 8;
|
||||
bytes[2] = u >> 16;
|
||||
bytes[3] = u >> 24;
|
||||
bytes[0] = (unsigned char)(u);
|
||||
bytes[1] = (unsigned char)(u >> 8);
|
||||
bytes[2] = (unsigned char)(u >> 16);
|
||||
bytes[3] = (unsigned char)(u >> 24);
|
||||
if ((*file->write) (file, bytes, 4) != 4)
|
||||
return XcursorFalse;
|
||||
return XcursorTrue;
|
||||
|
|
@ -463,7 +463,7 @@ _XcursorReadImage (XcursorFile *file,
|
|||
return NULL;
|
||||
|
||||
/* Create the image and initialize it */
|
||||
image = XcursorImageCreate (head.width, head.height);
|
||||
image = XcursorImageCreate ((int) head.width, (int) head.height);
|
||||
if (image == NULL)
|
||||
return NULL;
|
||||
if (chunkHeader.version < image->version)
|
||||
|
|
@ -472,7 +472,7 @@ _XcursorReadImage (XcursorFile *file,
|
|||
image->xhot = head.xhot;
|
||||
image->yhot = head.yhot;
|
||||
image->delay = head.delay;
|
||||
n = image->width * image->height;
|
||||
n = (int) (image->width * image->height);
|
||||
p = image->pixels;
|
||||
while (n--)
|
||||
{
|
||||
|
|
@ -539,7 +539,7 @@ _XcursorWriteImage (XcursorFile *file,
|
|||
return XcursorFalse;
|
||||
|
||||
/* write the image */
|
||||
n = image->width * image->height;
|
||||
n = (int) (image->width * image->height);
|
||||
p = image->pixels;
|
||||
while (n--)
|
||||
{
|
||||
|
|
@ -568,10 +568,10 @@ _XcursorReadComment (XcursorFile *file,
|
|||
/* read extra comment header fields */
|
||||
if (!_XcursorReadUInt (file, &length))
|
||||
return NULL;
|
||||
comment = XcursorCommentCreate (chunkHeader.subtype, length);
|
||||
comment = XcursorCommentCreate (chunkHeader.subtype, (int) length);
|
||||
if (!comment)
|
||||
return NULL;
|
||||
if (!_XcursorReadBytes (file, comment->comment, length))
|
||||
if (!_XcursorReadBytes (file, comment->comment, (int) length))
|
||||
{
|
||||
XcursorCommentDestroy (comment);
|
||||
return NULL;
|
||||
|
|
@ -583,7 +583,7 @@ _XcursorReadComment (XcursorFile *file,
|
|||
static XcursorUInt
|
||||
_XcursorCommentLength (XcursorComment *comment)
|
||||
{
|
||||
return XCURSOR_COMMENT_HEADER_LEN + strlen (comment->comment);
|
||||
return XCURSOR_COMMENT_HEADER_LEN + (XcursorUInt) strlen (comment->comment);
|
||||
}
|
||||
|
||||
static XcursorBool
|
||||
|
|
@ -598,7 +598,7 @@ _XcursorWriteComment (XcursorFile *file,
|
|||
if (!file || !fileHeader || !comment || !comment->comment)
|
||||
return XcursorFalse;
|
||||
|
||||
length = strlen (comment->comment);
|
||||
length = (XcursorUInt) strlen (comment->comment);
|
||||
|
||||
/* sanity check data */
|
||||
if (length > XCURSOR_COMMENT_MAX_LEN)
|
||||
|
|
@ -617,7 +617,7 @@ _XcursorWriteComment (XcursorFile *file,
|
|||
if (!_XcursorWriteUInt (file, length))
|
||||
return XcursorFalse;
|
||||
|
||||
if (!_XcursorWriteBytes (file, comment->comment, length))
|
||||
if (!_XcursorWriteBytes (file, comment->comment, (int) length))
|
||||
return XcursorFalse;
|
||||
return XcursorTrue;
|
||||
}
|
||||
|
|
@ -836,7 +836,7 @@ XcursorXcFileSave (XcursorFile *file,
|
|||
if (!file || !comments || !images)
|
||||
return XcursorFalse;
|
||||
|
||||
fileHeader = _XcursorFileHeaderCreate (comments->ncomment + images->nimage);
|
||||
fileHeader = _XcursorFileHeaderCreate ((XcursorUInt) (comments->ncomment + images->nimage));
|
||||
if (!fileHeader)
|
||||
return XcursorFalse;
|
||||
|
||||
|
|
@ -904,14 +904,14 @@ static int
|
|||
_XcursorStdioFileRead (XcursorFile *file, unsigned char *buf, int len)
|
||||
{
|
||||
FILE *f = file->closure;
|
||||
return fread (buf, 1, len, f);
|
||||
return (int) fread (buf, 1, (size_t) len, f);
|
||||
}
|
||||
|
||||
static int
|
||||
_XcursorStdioFileWrite (XcursorFile *file, unsigned char *buf, int len)
|
||||
{
|
||||
FILE *f = file->closure;
|
||||
return fwrite (buf, 1, len, f);
|
||||
return (int) fwrite (buf, 1, (size_t) len, f);
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
|||
|
|
@ -58,15 +58,15 @@ _XcursorAddPathElt (char *path, const char *elt, int len)
|
|||
pathlen++;
|
||||
}
|
||||
if (len == -1)
|
||||
len = strlen (elt);
|
||||
len = (int) strlen (elt);
|
||||
/* strip leading slashes */
|
||||
while (len && elt[0] == '/')
|
||||
{
|
||||
elt++;
|
||||
len--;
|
||||
}
|
||||
strncpy (path + pathlen, elt, len);
|
||||
path[pathlen + len] = '\0';
|
||||
strncpy (path + pathlen, elt, (size_t) len);
|
||||
path[pathlen + (size_t) len] = '\0';
|
||||
}
|
||||
|
||||
static char *
|
||||
|
|
@ -88,13 +88,13 @@ _XcursorBuildThemeDir (const char *dir, const char *theme)
|
|||
if (!colon)
|
||||
colon = dir + strlen (dir);
|
||||
|
||||
dirlen = colon - dir;
|
||||
dirlen = (int) (colon - dir);
|
||||
|
||||
tcolon = strchr (theme, ':');
|
||||
if (!tcolon)
|
||||
tcolon = theme + strlen (theme);
|
||||
|
||||
themelen = tcolon - theme;
|
||||
themelen = (int) (tcolon - theme);
|
||||
|
||||
home = NULL;
|
||||
homelen = 0;
|
||||
|
|
@ -103,7 +103,7 @@ _XcursorBuildThemeDir (const char *dir, const char *theme)
|
|||
home = getenv ("HOME");
|
||||
if (!home)
|
||||
return NULL;
|
||||
homelen = strlen (home);
|
||||
homelen = (int) strlen (home);
|
||||
dir++;
|
||||
dirlen--;
|
||||
}
|
||||
|
|
@ -114,7 +114,7 @@ _XcursorBuildThemeDir (const char *dir, const char *theme)
|
|||
*/
|
||||
len = 1 + homelen + 1 + dirlen + 1 + themelen + 1;
|
||||
|
||||
full = malloc (len);
|
||||
full = malloc ((size_t)len);
|
||||
if (!full)
|
||||
return NULL;
|
||||
full[0] = '\0';
|
||||
|
|
@ -335,7 +335,7 @@ XcursorLibraryLoadCursor (Display *dpy, const char *file)
|
|||
int id = XcursorLibraryShape (file);
|
||||
|
||||
if (id >= 0)
|
||||
return _XcursorCreateFontCursor (dpy, id);
|
||||
return _XcursorCreateFontCursor (dpy, (unsigned) id);
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -367,7 +367,7 @@ XcursorLibraryLoadCursors (Display *dpy, const char *file)
|
|||
cursors = XcursorCursorsCreate (dpy, 1);
|
||||
if (cursors)
|
||||
{
|
||||
cursors->cursors[0] = _XcursorCreateFontCursor (dpy, id);
|
||||
cursors->cursors[0] = _XcursorCreateFontCursor (dpy, (unsigned) id);
|
||||
if (cursors->cursors[0] == None)
|
||||
{
|
||||
XcursorCursorsDestroy (cursors);
|
||||
|
|
|
|||
|
|
@ -291,7 +291,7 @@ XcursorImageHash (XImage *image,
|
|||
if (bit_swap)
|
||||
t = _reverse_byte[t];
|
||||
if (t)
|
||||
hash[(i++) & (XCURSOR_BITMAP_HASH_SIZE - 1)] ^= RotByte (t, y & 7);
|
||||
hash[(i++) & (XCURSOR_BITMAP_HASH_SIZE - 1)] ^= (unsigned char) RotByte (t, y & 7);
|
||||
}
|
||||
line += image->bytes_per_line;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue