code-style improvements, update TODO - lel - Farbfeld image viewer | |
git clone git://git.codemadness.org/lel | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit d5f736e3365aebd860212276645acb0d3ecf0397 | |
parent 65db024af95f0a902567907dbeb3628c819f9baf | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Tue, 17 Nov 2015 21:40:25 +0100 | |
code-style improvements, update TODO | |
Diffstat: | |
M TODO | 1 + | |
M lel.1 | 2 +- | |
M lel.c | 91 ++++++++++++++++-------------… | |
3 files changed, 48 insertions(+), 46 deletions(-) | |
--- | |
diff --git a/TODO b/TODO | |
@@ -9,6 +9,7 @@ | |
[ ] use XPutPixel for byte-order safety ? | |
[ ] improve README. | |
[ ] write man page. | |
+ [ ] convert to mandoc. | |
[ ] lel.1 | |
[ ] lel-open.1 | |
[?] for pictures which use an alpha mask use a checked pattern, similar to: | |
diff --git a/lel.1 b/lel.1 | |
@@ -4,6 +4,6 @@ lel \- simple X11 image viewer | |
.SH SYNOPSIS | |
.B lel | |
.SH DESCRIPTION | |
-View an "imagefile" image. | |
+View an image in the farbfeld format. | |
.SH BUGS | |
Please report them! | |
diff --git a/lel.c b/lel.c | |
@@ -1,14 +1,15 @@ | |
/* See LICENSE file for copyright and license details. */ | |
+#include <arpa/inet.h> | |
+ | |
+#include <errno.h> | |
#include <unistd.h> | |
+#include <signal.h> | |
#include <stdarg.h> | |
#include <stdint.h> | |
-#include <stdlib.h> | |
#include <stdio.h> | |
+#include <stdlib.h> | |
#include <string.h> | |
-#include <errno.h> | |
-#include <signal.h> | |
#include <time.h> | |
-#include <arpa/inet.h> | |
#include <X11/Xlib.h> | |
#include <X11/Xutil.h> | |
@@ -70,11 +71,11 @@ die(const char *fmt, ...) | |
vfprintf(stderr, fmt, ap); | |
va_end(ap); | |
- if(fmt[0] && fmt[strlen(fmt)-1] == ':') { | |
+ if (fmt[0] && fmt[strlen(fmt) - 1] == ':') { | |
fputc(' ', stderr); | |
perror(NULL); | |
} | |
- exit(EXIT_FAILURE); | |
+ exit(1); | |
} | |
static void | |
@@ -103,15 +104,15 @@ ff_open(struct img *img) | |
if (fread(hdr, 1, strlen(HEADER_FORMAT), img->fp) != strlen(HEADER_FOR… | |
return -1; | |
- if(memcmp(hdr, "farbfeld", 8)) | |
+ if (memcmp(hdr, "farbfeld", 8)) | |
return -1; | |
img->width = ntohl((hdr[8] << 0) | (hdr[9] << 8) | (hdr[10] << 16) | (… | |
img->height = ntohl((hdr[12] << 0) | (hdr[13] << 8) | (hdr[14] << 16) … | |
- if(img->width <= 0 || img->height <= 0) | |
+ if (img->width <= 0 || img->height <= 0) | |
return -1; | |
- if(!(img->buf = malloc(img->width * img->height * 4))) | |
+ if (!(img->buf = malloc(img->width * img->height * 4))) | |
die("malloc:"); | |
return 0; | |
@@ -127,15 +128,15 @@ ff_read(struct img *img) | |
return 0; | |
row_len = img->width * strlen("RRGGBBAA"); | |
- if(!(row = malloc(row_len))) | |
+ if (!(row = malloc(row_len))) | |
return -1; | |
- for(off = 0, i = 0; i < img->height; ++i) { | |
- if(fread(row, 1, (size_t)row_len, img->fp) != (size_t)row_len)… | |
+ for (off = 0, i = 0; i < img->height; ++i) { | |
+ if (fread(row, 1, (size_t)row_len, img->fp) != (size_t)row_len… | |
free(row); | |
die("unexpected EOF or row-skew at %d\n", i); | |
} | |
- for(j = 0; j < row_len / 2; j += 4, off += 4) { | |
+ for (j = 0; j < row_len / 2; j += 4, off += 4) { | |
img->buf[off] = row[j]; | |
img->buf[off + 1] = row[j + 1]; | |
img->buf[off + 2] = row[j + 2]; | |
@@ -164,8 +165,8 @@ normalsize(char *newbuf) | |
{ | |
unsigned int x, y, soff = 0, doff = 0; | |
- for(y = 0; y < cimg->height; y++) { | |
- for(x = 0; x < cimg->width; x++, soff += 4, doff += 4) { | |
+ for (y = 0; y < cimg->height; y++) { | |
+ for (x = 0; x < cimg->width; x++, soff += 4, doff += 4) { | |
newbuf[doff+0] = cimg->buf[soff+2]; | |
newbuf[doff+1] = cimg->buf[soff+1]; | |
newbuf[doff+2] = cimg->buf[soff+0]; | |
@@ -178,15 +179,15 @@ normalsize(char *newbuf) | |
static void | |
loadimg(void) | |
{ | |
- if(ff_open(cimg)) | |
+ if (ff_open(cimg)) | |
die("can't open image (invalid format?)\n"); | |
- if(ff_read(cimg)) | |
+ if (ff_read(cimg)) | |
die("can't read image\n"); | |
- if(!wflag) | |
+ if (!wflag) | |
reqwinwidth = cimg->width; | |
- if(!hflag) | |
+ if (!hflag) | |
reqwinheight = cimg->height; | |
- if(!tflag) | |
+ if (!tflag) | |
wintitle = cimg->filename; | |
} | |
@@ -238,11 +239,11 @@ scale(unsigned int width, unsigned int height, unsigned i… | |
jdy = bytesperline / 4 - width; | |
dx = (cimg->width << 10) / width; | |
- for(y = 0; y < height; y++) { | |
+ for (y = 0; y < height; y++) { | |
bufx = cimg->width / width; | |
ibuf = &cimg->buf[y * cimg->height / height * cimg->width * 4]; | |
- for(x = 0; x < width; x++) { | |
+ for (x = 0; x < width; x++) { | |
a = (ibuf[(bufx >> 10)*4+3]) / 255.0f; | |
*newbuf++ = (ibuf[(bufx >> 10)*4+2] * a) + (bg.blue * … | |
*newbuf++ = (ibuf[(bufx >> 10)*4+1] * a) + (bg.green *… | |
@@ -260,13 +261,13 @@ ximage(unsigned int newwidth, unsigned int newheight) | |
int depth; | |
/* destroy previous image */ | |
- if(ximg) { | |
+ if (ximg) { | |
XDestroyImage(ximg); | |
ximg = NULL; | |
} | |
depth = DefaultDepth(dpy, screen); | |
- if(depth >= 24) { | |
- if(xpix) | |
+ if (depth >= 24) { | |
+ if (xpix) | |
XFreePixmap(dpy, xpix); | |
xpix = XCreatePixmap(dpy, win, winwidth, winheight, depth); | |
ximg = XCreateImage(dpy, CopyFromParent, depth, ZPixmap… | |
@@ -287,7 +288,7 @@ scaleview(void) | |
ximage(winwidth, winheight); | |
break; | |
case FULL_ASPECT: | |
- if(winwidth * cimg->height > winheight * cimg->width) | |
+ if (winwidth * cimg->height > winheight * cimg->width) | |
ximage(cimg->width * winheight / cimg->height, winheig… | |
else | |
ximage(winwidth, cimg->height * winwidth / cimg->width… | |
@@ -305,7 +306,7 @@ draw(void) | |
{ | |
int xoffset = 0, yoffset = 0; | |
- if(viewmode != FULL_STRETCH) { | |
+ if (viewmode != FULL_STRETCH) { | |
/* center vertical, horizontal */ | |
xoffset = (winwidth - ximg->width) / 2; | |
yoffset = (winheight - ximg->height) / 2; | |
@@ -325,18 +326,18 @@ draw(void) | |
static void | |
update(void) | |
{ | |
- if(!(cimg->state & LOADED)) | |
+ if (!(cimg->state & LOADED)) | |
return; | |
- if(!(cimg->state & SCALED)) | |
+ if (!(cimg->state & SCALED)) | |
scaleview(); | |
- if(!(cimg->state & DRAWN)) | |
+ if (!(cimg->state & DRAWN)) | |
draw(); | |
} | |
static void | |
setview(int mode) | |
{ | |
- if(viewmode == mode) | |
+ if (viewmode == mode) | |
return; | |
viewmode = mode; | |
cimg->state &= ~(DRAWN | SCALED); | |
@@ -355,7 +356,7 @@ pan(int x, int y) | |
static void | |
inczoom(float f) | |
{ | |
- if((cimg->view.zoomfact + f) <= 0) | |
+ if ((cimg->view.zoomfact + f) <= 0) | |
return; | |
cimg->view.zoomfact += f; | |
cimg->state &= ~(DRAWN | SCALED); | |
@@ -365,7 +366,7 @@ inczoom(float f) | |
static void | |
zoom(float f) | |
{ | |
- if(f == cimg->view.zoomfact) | |
+ if (f == cimg->view.zoomfact) | |
return; | |
cimg->view.zoomfact = f; | |
cimg->state &= ~(DRAWN | SCALED); | |
@@ -485,7 +486,7 @@ handleevent(XEvent *ev) | |
} | |
break; | |
case ConfigureNotify: | |
- if(winwidth != ev->xconfigure.width || winheight != ev->xconfi… | |
+ if (winwidth != ev->xconfigure.width || winheight != ev->xconf… | |
winwidth = ev->xconfigure.width; | |
winheight = ev->xconfigure.height; | |
cimg->state &= ~(SCALED); | |
@@ -509,7 +510,7 @@ setup(void) | |
{ | |
XClassHint class = { APP_NAME, APP_NAME }; | |
- if(!(dpy = XOpenDisplay(NULL))) | |
+ if (!(dpy = XOpenDisplay(NULL))) | |
die("can't open X display\n"); | |
xfd = ConnectionNumber(dpy); | |
screen = DefaultScreen(dpy); | |
@@ -519,7 +520,7 @@ setup(void) | |
CopyFromParent, 0, NULL); | |
gc = XCreateGC(dpy, win, 0, NULL); | |
cmap = DefaultColormap(dpy, screen); | |
- if(!XAllocNamedColor(dpy, cmap, bgcolor, &bg, &bg)) | |
+ if (!XAllocNamedColor(dpy, cmap, bgcolor, &bg, &bg)) | |
die("cannot allocate color\n"); | |
XStoreName(dpy, win, wintitle); | |
XSelectInput(dpy, win, StructureNotifyMask | ExposureMask | KeyPressMa… | |
@@ -534,7 +535,7 @@ run(void) | |
{ | |
XEvent ev; | |
- while(running && !XNextEvent(dpy, &ev)) | |
+ while (running && !XNextEvent(dpy, &ev)) | |
handleevent(&ev); | |
} | |
@@ -552,7 +553,7 @@ main(int argc, char *argv[]) { | |
break; | |
case 'h': | |
hflag = 1; | |
- if(!(reqwinheight = atoi(EARGF(usage())))) | |
+ if (!(reqwinheight = atoi(EARGF(usage())))) | |
usage(); | |
break; | |
case 't': | |
@@ -561,7 +562,7 @@ main(int argc, char *argv[]) { | |
break; | |
case 'w': | |
wflag = 1; | |
- if(!(reqwinwidth = atoi(EARGF(usage())))) | |
+ if (!(reqwinwidth = atoi(EARGF(usage())))) | |
usage(); | |
break; | |
case 'x': | |
@@ -575,7 +576,7 @@ main(int argc, char *argv[]) { | |
break; | |
} ARGEND; | |
- if(argc == 0) { | |
+ if (!argc) { | |
imgs = calloc(1, sizeof(*imgs)); | |
if (!imgs) | |
die("calloc:"); | |
@@ -585,9 +586,9 @@ main(int argc, char *argv[]) { | |
imgs[0].view.zoomfact = 1.0; | |
} else { | |
imgs = calloc(argc, sizeof(*imgs)); | |
- if(!imgs) | |
+ if (!imgs) | |
die("calloc:"); | |
- for(i = 0, j = 0; j < argc; j++) { | |
+ for (i = 0, j = 0; j < argc; j++) { | |
fp = fopen(argv[j], "rb"); | |
if (!fp) { | |
fprintf(stderr, "can't open %s: %s\n", argv[j], | |
@@ -599,8 +600,8 @@ main(int argc, char *argv[]) { | |
imgs[i].view.zoomfact = 1.0; | |
i++; | |
} | |
- if (i == 0) | |
- return EXIT_FAILURE; | |
+ if (!i) | |
+ return 1; | |
nimgs = i; | |
} | |
cimg = imgs; | |
@@ -609,5 +610,5 @@ main(int argc, char *argv[]) { | |
setup(); | |
run(); | |
- return EXIT_SUCCESS; | |
+ return 0; | |
} |