1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-18 12:00:31 +01:00

Change to the linux kernel coding style

for arq in `git ls-files *.c`; do
    echo $arq;
    indent -linux -l115 $arq;
    done

The different line break at 115 columns is because
I use a widescreen monitor :-)
This commit is contained in:
Carlos R. Mafra
2009-08-20 00:59:40 +02:00
parent 59fc927dc9
commit 688a56e8ab
209 changed files with 87034 additions and 98138 deletions

View File

@@ -43,13 +43,12 @@
#endif
typedef struct RCachedImage {
RImage *image;
char *file;
time_t last_modif; /* last time file was modified */
time_t last_use; /* last time image was used */
RImage *image;
char *file;
time_t last_modif; /* last time file was modified */
time_t last_use; /* last time image was used */
} RCachedImage;
/*
* Size of image cache
*/
@@ -58,7 +57,7 @@ static int RImageCacheSize = -1;
/*
* Max. size of image to store in cache
*/
static int RImageCacheMaxImage = -1; /* 0 = any size */
static int RImageCacheMaxImage = -1; /* 0 = any size */
#define IMAGE_CACHE_SIZE 8
@@ -66,10 +65,6 @@ static int RImageCacheMaxImage = -1; /* 0 = any size */
static RCachedImage *RImageCache;
#define IM_ERROR -1
#define IM_UNKNOWN 0
#define IM_XPM 1
@@ -82,290 +77,271 @@ static RCachedImage *RImageCache;
/* Increase this when adding new image types! */
#define IM_TYPES 6
static int identFile(char *path);
extern RImage *RLoadPPM(RContext *context, char *file_name, int index);
extern RImage *RLoadXPM(RContext *context, char *file, int index);
extern RImage *RLoadPPM(RContext * context, char *file_name, int index);
extern RImage *RLoadXPM(RContext * context, char *file, int index);
#ifdef USE_TIFF
extern RImage *RLoadTIFF(RContext *context, char *file, int index);
extern RImage *RLoadTIFF(RContext * context, char *file, int index);
#endif
#ifdef USE_PNG
extern RImage *RLoadPNG(RContext *context, char *file, int index);
extern RImage *RLoadPNG(RContext * context, char *file, int index);
#endif
#ifdef USE_JPEG
extern RImage *RLoadJPEG(RContext *context, char *file_name, int index);
extern RImage *RLoadJPEG(RContext * context, char *file_name, int index);
#endif
#ifdef USE_GIF
extern RImage *RLoadGIF(RContext *context, char *file_name, int index);
extern RImage *RLoadGIF(RContext * context, char *file_name, int index);
#endif
char**
RSupportedFileFormats(void)
char **RSupportedFileFormats(void)
{
static char *tmp[IM_TYPES+1];
int i = 0;
static char *tmp[IM_TYPES + 1];
int i = 0;
/* built-in */
tmp[i++] = "XPM";
/* built-in */
tmp[i++] = "PPM";
/* built-in */
tmp[i++] = "XPM";
/* built-in */
tmp[i++] = "PPM";
#ifdef USE_TIFF
tmp[i++] = "TIFF";
tmp[i++] = "TIFF";
#endif
#ifdef USE_PNG
tmp[i++] = "PNG";
tmp[i++] = "PNG";
#endif
#ifdef USE_JPEG
tmp[i++] = "JPEG";
tmp[i++] = "JPEG";
#endif
#ifdef USE_GIF
tmp[i++] = "GIF";
tmp[i++] = "GIF";
#endif
tmp[i] = NULL;
tmp[i] = NULL;
return tmp;
return tmp;
}
static void
init_cache()
static void init_cache()
{
char *tmp;
char *tmp;
tmp = getenv("RIMAGE_CACHE");
if (!tmp || sscanf(tmp, "%i", &RImageCacheSize)!=1) {
RImageCacheSize = IMAGE_CACHE_SIZE;
}
if (RImageCacheSize<0)
RImageCacheSize = 0;
tmp = getenv("RIMAGE_CACHE");
if (!tmp || sscanf(tmp, "%i", &RImageCacheSize) != 1) {
RImageCacheSize = IMAGE_CACHE_SIZE;
}
if (RImageCacheSize < 0)
RImageCacheSize = 0;
tmp = getenv("RIMAGE_CACHE_SIZE");
if (!tmp || sscanf(tmp, "%i", &RImageCacheMaxImage)!=1) {
RImageCacheMaxImage = IMAGE_CACHE_MAX_IMAGE;
}
tmp = getenv("RIMAGE_CACHE_SIZE");
if (!tmp || sscanf(tmp, "%i", &RImageCacheMaxImage) != 1) {
RImageCacheMaxImage = IMAGE_CACHE_MAX_IMAGE;
}
if (RImageCacheSize>0) {
RImageCache = malloc(sizeof(RCachedImage)*RImageCacheSize);
if (RImageCache==NULL) {
printf("wrlib: out of memory for image cache\n");
return;
}
memset(RImageCache, 0, sizeof(RCachedImage)*RImageCacheSize);
}
if (RImageCacheSize > 0) {
RImageCache = malloc(sizeof(RCachedImage) * RImageCacheSize);
if (RImageCache == NULL) {
printf("wrlib: out of memory for image cache\n");
return;
}
memset(RImageCache, 0, sizeof(RCachedImage) * RImageCacheSize);
}
}
RImage*
RLoadImage(RContext *context, char *file, int index)
RImage *RLoadImage(RContext * context, char *file, int index)
{
RImage *image = NULL;
int i;
struct stat st;
RImage *image = NULL;
int i;
struct stat st;
assert(file!=NULL);
assert(file != NULL);
if (RImageCacheSize<0) {
init_cache();
}
if (RImageCacheSize < 0) {
init_cache();
}
if (RImageCacheSize>0) {
if (RImageCacheSize > 0) {
for (i=0; i<RImageCacheSize; i++) {
if (RImageCache[i].file
&& strcmp(file, RImageCache[i].file)==0) {
for (i = 0; i < RImageCacheSize; i++) {
if (RImageCache[i].file && strcmp(file, RImageCache[i].file) == 0) {
if (stat(file, &st)==0
&& st.st_mtime == RImageCache[i].last_modif) {
RImageCache[i].last_use = time(NULL);
if (stat(file, &st) == 0 && st.st_mtime == RImageCache[i].last_modif) {
RImageCache[i].last_use = time(NULL);
return RCloneImage(RImageCache[i].image);
return RCloneImage(RImageCache[i].image);
} else {
free(RImageCache[i].file);
RImageCache[i].file = NULL;
RReleaseImage(RImageCache[i].image);
}
}
}
}
} else {
free(RImageCache[i].file);
RImageCache[i].file = NULL;
RReleaseImage(RImageCache[i].image);
}
}
}
}
switch (identFile(file)) {
case IM_ERROR:
return NULL;
switch (identFile(file)) {
case IM_ERROR:
return NULL;
case IM_UNKNOWN:
RErrorCode = RERR_BADFORMAT;
return NULL;
case IM_UNKNOWN:
RErrorCode = RERR_BADFORMAT;
return NULL;
case IM_XPM:
image = RLoadXPM(context, file, index);
break;
case IM_XPM:
image = RLoadXPM(context, file, index);
break;
#ifdef USE_TIFF
case IM_TIFF:
image = RLoadTIFF(context, file, index);
break;
#endif /* USE_TIFF */
case IM_TIFF:
image = RLoadTIFF(context, file, index);
break;
#endif /* USE_TIFF */
#ifdef USE_PNG
case IM_PNG:
image = RLoadPNG(context, file, index);
break;
#endif /* USE_PNG */
case IM_PNG:
image = RLoadPNG(context, file, index);
break;
#endif /* USE_PNG */
#ifdef USE_JPEG
case IM_JPEG:
image = RLoadJPEG(context, file, index);
break;
#endif /* USE_JPEG */
case IM_JPEG:
image = RLoadJPEG(context, file, index);
break;
#endif /* USE_JPEG */
#ifdef USE_GIF
case IM_GIF:
image = RLoadGIF(context, file, index);
break;
#endif /* USE_GIF */
case IM_GIF:
image = RLoadGIF(context, file, index);
break;
#endif /* USE_GIF */
case IM_PPM:
image = RLoadPPM(context, file, index);
break;
case IM_PPM:
image = RLoadPPM(context, file, index);
break;
default:
RErrorCode = RERR_BADFORMAT;
return NULL;
}
default:
RErrorCode = RERR_BADFORMAT;
return NULL;
}
/* store image in cache */
if (RImageCacheSize > 0 && image &&
(RImageCacheMaxImage == 0 || RImageCacheMaxImage >= image->width * image->height)) {
time_t oldest = time(NULL);
int oldest_idx = 0;
int done = 0;
/* store image in cache */
if (RImageCacheSize>0 && image &&
(RImageCacheMaxImage==0
|| RImageCacheMaxImage >= image->width*image->height)) {
time_t oldest=time(NULL);
int oldest_idx = 0;
int done = 0;
for (i = 0; i < RImageCacheSize; i++) {
if (!RImageCache[i].file) {
RImageCache[i].file = malloc(strlen(file) + 1);
strcpy(RImageCache[i].file, file);
RImageCache[i].image = RCloneImage(image);
RImageCache[i].last_modif = st.st_mtime;
RImageCache[i].last_use = time(NULL);
done = 1;
break;
} else {
if (oldest > RImageCache[i].last_use) {
oldest = RImageCache[i].last_use;
oldest_idx = i;
}
}
}
for (i=0; i<RImageCacheSize; i++) {
if (!RImageCache[i].file) {
RImageCache[i].file = malloc(strlen(file)+1);
strcpy(RImageCache[i].file, file);
RImageCache[i].image = RCloneImage(image);
RImageCache[i].last_modif = st.st_mtime;
RImageCache[i].last_use = time(NULL);
done = 1;
break;
} else {
if (oldest > RImageCache[i].last_use) {
oldest = RImageCache[i].last_use;
oldest_idx = i;
}
}
}
/* if no slot available, dump least recently used one */
if (!done) {
free(RImageCache[oldest_idx].file);
RReleaseImage(RImageCache[oldest_idx].image);
RImageCache[oldest_idx].file = malloc(strlen(file) + 1);
strcpy(RImageCache[oldest_idx].file, file);
RImageCache[oldest_idx].image = RCloneImage(image);
RImageCache[oldest_idx].last_modif = st.st_mtime;
RImageCache[oldest_idx].last_use = time(NULL);
}
}
/* if no slot available, dump least recently used one */
if (!done) {
free(RImageCache[oldest_idx].file);
RReleaseImage(RImageCache[oldest_idx].image);
RImageCache[oldest_idx].file = malloc(strlen(file)+1);
strcpy(RImageCache[oldest_idx].file, file);
RImageCache[oldest_idx].image = RCloneImage(image);
RImageCache[oldest_idx].last_modif = st.st_mtime;
RImageCache[oldest_idx].last_use = time(NULL);
}
}
return image;
return image;
}
char*
RGetImageFileFormat(char *file)
char *RGetImageFileFormat(char *file)
{
switch (identFile(file)) {
case IM_XPM:
return "XPM";
switch (identFile(file)) {
case IM_XPM:
return "XPM";
#ifdef USE_TIFF
case IM_TIFF:
return "TIFF";
#endif /* USE_TIFF */
case IM_TIFF:
return "TIFF";
#endif /* USE_TIFF */
#ifdef USE_PNG
case IM_PNG:
return "PNG";
#endif /* USE_PNG */
case IM_PNG:
return "PNG";
#endif /* USE_PNG */
#ifdef USE_JPEG
case IM_JPEG:
return "JPEG";
#endif /* USE_JPEG */
case IM_JPEG:
return "JPEG";
#endif /* USE_JPEG */
#ifdef USE_GIF
case IM_GIF:
return "GIF";
#endif /* USE_GIF */
case IM_GIF:
return "GIF";
#endif /* USE_GIF */
case IM_PPM:
return "PPM";
case IM_PPM:
return "PPM";
default:
return NULL;
}
default:
return NULL;
}
}
static int
identFile(char *path)
static int identFile(char *path)
{
int fd;
unsigned char buffer[32];
int fd;
unsigned char buffer[32];
assert(path!=NULL);
assert(path != NULL);
fd = open(path, O_RDONLY|O_BINARY);
if (fd < 0) {
RErrorCode = RERR_OPEN;
return IM_ERROR;
}
if (read(fd, buffer, 32)<1) {
close(fd);
RErrorCode = RERR_READ;
return IM_ERROR;
}
close(fd);
fd = open(path, O_RDONLY | O_BINARY);
if (fd < 0) {
RErrorCode = RERR_OPEN;
return IM_ERROR;
}
if (read(fd, buffer, 32) < 1) {
close(fd);
RErrorCode = RERR_READ;
return IM_ERROR;
}
close(fd);
/* check for XPM */
if (strncmp((char*)buffer, "/* XPM */", 9)==0)
return IM_XPM;
/* check for XPM */
if (strncmp((char *)buffer, "/* XPM */", 9) == 0)
return IM_XPM;
/* check for TIFF */
if ((buffer[0]=='I' && buffer[1]=='I' && buffer[2]=='*' && buffer[3]==0)
||(buffer[0]=='M' && buffer[1]=='M' && buffer[2]==0 && buffer[3]=='*'))
return IM_TIFF;
/* check for TIFF */
if ((buffer[0] == 'I' && buffer[1] == 'I' && buffer[2] == '*' && buffer[3] == 0)
|| (buffer[0] == 'M' && buffer[1] == 'M' && buffer[2] == 0 && buffer[3] == '*'))
return IM_TIFF;
#ifdef USE_PNG
/* check for PNG */
if (png_check_sig(buffer, 8))
return IM_PNG;
/* check for PNG */
if (png_check_sig(buffer, 8))
return IM_PNG;
#endif
/* check for raw PPM or PGM */
if (buffer[0]=='P' && (buffer[1]=='5' || buffer[1]=='6'))
return IM_PPM;
/* check for raw PPM or PGM */
if (buffer[0] == 'P' && (buffer[1] == '5' || buffer[1] == '6'))
return IM_PPM;
/* check for JPEG */
if (buffer[0] == 0xff && buffer[1] == 0xd8)
return IM_JPEG;
/* check for JPEG */
if (buffer[0] == 0xff && buffer[1] == 0xd8)
return IM_JPEG;
/* check for GIF */
if (buffer[0] == 'G' && buffer[1] == 'I' && buffer[2] == 'F')
return IM_GIF;
/* check for GIF */
if (buffer[0] == 'G' && buffer[1] == 'I' && buffer[2] == 'F')
return IM_GIF;
return IM_UNKNOWN;
return IM_UNKNOWN;
}