Transformed function macros in util.h to inline functions

This commit is contained in:
Bert Münnich 2011-09-29 10:16:13 +02:00
parent d369f10aa5
commit 22d4e991d5
7 changed files with 35 additions and 24 deletions

View File

@ -1,4 +1,4 @@
VERSION = git-20110928 VERSION = git-20110929
CC = gcc CC = gcc
CFLAGS = -Wall -pedantic -O2 CFLAGS = -Wall -pedantic -O2

View File

@ -303,11 +303,11 @@ bool img_load(img_t *img, const fileinfo_t *file) {
(void) fmt; (void) fmt;
#if EXIF_SUPPORT #if EXIF_SUPPORT
if (STREQ(fmt, "jpeg")) if (streq(fmt, "jpeg"))
exif_auto_orientate(file); exif_auto_orientate(file);
#endif #endif
#if GIF_SUPPORT #if GIF_SUPPORT
if (STREQ(fmt, "gif")) if (streq(fmt, "gif"))
img_load_gif(img, file); img_load_gif(img, file);
#endif #endif

6
main.c
View File

@ -144,7 +144,7 @@ void set_timeout(timeout_f handler, int time, bool overwrite) {
if (timeouts[i].handler == handler) { if (timeouts[i].handler == handler) {
if (!timeouts[i].active || overwrite) { if (!timeouts[i].active || overwrite) {
gettimeofday(&timeouts[i].when, 0); gettimeofday(&timeouts[i].when, 0);
MSEC_ADD_TO_TIMEVAL(time, &timeouts[i].when); tv_add_msec(&timeouts[i].when, time);
timeouts[i].active = true; timeouts[i].active = true;
} }
return; return;
@ -170,7 +170,7 @@ bool check_timeouts(struct timeval *t) {
gettimeofday(&now, 0); gettimeofday(&now, 0);
while (i < ARRLEN(timeouts)) { while (i < ARRLEN(timeouts)) {
if (timeouts[i].active) { if (timeouts[i].active) {
tdiff = TIMEDIFF(&timeouts[i].when, &now); tdiff = tv_diff(&timeouts[i].when, &now);
if (tdiff <= 0) { if (tdiff <= 0) {
timeouts[i].active = false; timeouts[i].active = false;
if (timeouts[i].handler) if (timeouts[i].handler)
@ -183,7 +183,7 @@ bool check_timeouts(struct timeval *t) {
i++; i++;
} }
if (tmin > 0 && t) if (tmin > 0 && t)
MSEC_TO_TIMEVAL(tmin, t); tv_set_msec(t, tmin);
return tmin > 0; return tmin > 0;
} }

View File

@ -140,5 +140,5 @@ void parse_options(int argc, char **argv) {
_options.filenames = argv + optind; _options.filenames = argv + optind;
_options.filecnt = argc - optind; _options.filecnt = argc - optind;
_options.from_stdin = _options.filecnt == 1 && _options.from_stdin = _options.filecnt == 1 &&
STREQ(_options.filenames[0], "-"); streq(_options.filenames[0], "-");
} }

View File

@ -255,7 +255,7 @@ bool tns_load(tns_t *tns, int n, const fileinfo_t *file,
(void) fmt; (void) fmt;
#if EXIF_SUPPORT #if EXIF_SUPPORT
if (!cache_hit && STREQ(fmt, "jpeg")) if (!cache_hit && streq(fmt, "jpeg"))
exif_auto_orientate(file); exif_auto_orientate(file);
#endif #endif

2
util.c
View File

@ -270,7 +270,7 @@ char* r_readdir(r_dir_t *rdir) {
while (1) { while (1) {
if (rdir->dir && (dentry = readdir(rdir->dir))) { if (rdir->dir && (dentry = readdir(rdir->dir))) {
if (STREQ(dentry->d_name, ".") || STREQ(dentry->d_name, "..")) if (streq(dentry->d_name, ".") || streq(dentry->d_name, ".."))
continue; continue;
len = strlen(rdir->name) + strlen(dentry->d_name) + 2; len = strlen(rdir->name) + strlen(dentry->d_name) + 2;

41
util.h
View File

@ -22,8 +22,11 @@
#include <stdio.h> #include <stdio.h>
#include <stdarg.h> #include <stdarg.h>
#include <dirent.h> #include <dirent.h>
#include <sys/time.h>
#include <sys/types.h> #include <sys/types.h>
#include "types.h"
#ifndef MIN #ifndef MIN
#define MIN(a,b) ((a) < (b) ? (a) : (b)) #define MIN(a,b) ((a) < (b) ? (a) : (b))
#endif #endif
@ -33,21 +36,6 @@
#define ARRLEN(a) (sizeof(a) / sizeof((a)[0])) #define ARRLEN(a) (sizeof(a) / sizeof((a)[0]))
#define STREQ(a,b) (!strcmp((a), (b)))
#define TIMEDIFF(t1,t2) (((t1)->tv_sec - (t2)->tv_sec) * 1000 + \
((t1)->tv_usec - (t2)->tv_usec) / 1000)
#define MSEC_TO_TIMEVAL(t,tv) { \
(tv)->tv_sec = (t) / 1000; \
(tv)->tv_usec = (t) % 1000 * 1000; \
}
#define MSEC_ADD_TO_TIMEVAL(t,tv) { \
(tv)->tv_sec += (t) / 1000; \
(tv)->tv_usec += (t) % 1000 * 1000; \
}
typedef struct { typedef struct {
DIR *dir; DIR *dir;
char *name; char *name;
@ -58,6 +46,29 @@ typedef struct {
int stlen; int stlen;
} r_dir_t; } r_dir_t;
static inline
bool streq(const char *a, const char *b) {
return strcmp(a, b) == 0;
}
static inline
long tv_diff(const struct timeval *t1, const struct timeval *t2) {
return (t1->tv_sec - t2->tv_sec) * 1000 +
(t1->tv_usec - t2->tv_usec) / 1000;
}
static inline
void tv_set_msec(struct timeval *t, int msec) {
t->tv_sec = msec / 1000;
t->tv_usec = msec % 1000 * 1000;
}
static inline
void tv_add_msec(struct timeval *t, int msec) {
t->tv_sec += msec / 1000;
t->tv_usec += msec % 1000 * 1000;
}
void* s_malloc(size_t); void* s_malloc(size_t);
void* s_realloc(void*, size_t); void* s_realloc(void*, size_t);
char* s_strdup(char*); char* s_strdup(char*);