Introduction
Introduction Statistics Contact Development Disclaimer Help
Avoid using the non-portable endian.h conversion functions - xscreenshot - scre…
git clone git://git.codemadness.org/xscreenshot
Log
Files
Refs
README
LICENSE
---
commit b0165f794fa7eee32c3c29933f60d05e122e9c4d
parent 99787cb985153f007e66f2fd53e2279ee6f7333c
Author: Hiltjo Posthuma <[email protected]>
Date: Tue, 17 Nov 2015 21:20:54 +0100
Avoid using the non-portable endian.h conversion functions
Use the arpa/inet.h conversion functions which are standardized
in POSIX.
Idea copied over from farbfeld (thanks stateless!).
Diffstat:
M config.mk | 2 +-
M xscreenshot.c | 9 ++++-----
2 files changed, 5 insertions(+), 6 deletions(-)
---
diff --git a/config.mk b/config.mk
@@ -14,7 +14,7 @@ INCS = -I${X11INC}
LIBS = -L${X11LIB} -lX11
# flags
-CPPFLAGS = -D_BSD_SOURCE -DVERSION=\"${VERSION}\"
+CPPFLAGS = -DVERSION=\"${VERSION}\"
# debug
CFLAGS = -O0 -g -std=c99 -Wall -pedantic ${INCS} ${CPPFLAGS}
diff --git a/xscreenshot.c b/xscreenshot.c
@@ -1,7 +1,6 @@
/* see LICENSE / README for more info */
#include <arpa/inet.h>
-#include <endian.h>
#include <errno.h>
#include <stdio.h>
#include <stdint.h>
@@ -77,10 +76,10 @@ main(int argc, char *argv[])
for (h = 0; h < (uint32_t)img->height; h++) {
for (w = 0; w < (uint32_t)img->width; w++) {
tmp = XGetPixel(img, w, h);
- rgba[0] = htobe16((tmp & img->red_mask) >> 8);
- rgba[1] = htobe16(tmp & img->green_mask);
- rgba[2] = htobe16((tmp & img->blue_mask) << 8);
- rgba[3] = htobe16(65535);
+ rgba[0] = htons((tmp & img->red_mask) >> 8);
+ rgba[1] = htons(tmp & img->green_mask);
+ rgba[2] = htons((tmp & img->blue_mask) << 8);
+ rgba[3] = htons(65535);
if (fwrite(&rgba, 4 * sizeof(uint16_t), 1, stdout) != …
die("fwrite() failed");
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.