fixed rss builder
This commit is contained in:
parent
b7420af3ad
commit
eac855aebb
2
config.h
2
config.h
@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/* RSS generator */
|
/* RSS generator */
|
||||||
#define LINK "mygallery.com"
|
#define LINK "my_gallery.com"
|
||||||
#define XML_FILE "index.xml"
|
#define XML_FILE "index.xml"
|
||||||
|
|
||||||
#define LANGUAGE "en-US"
|
#define LANGUAGE "en-US"
|
||||||
|
29
img.c
29
img.c
@ -8,6 +8,8 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#define CHECK_URL(x) ( (sizeof(x) > 2 && x[sizeof(x) - 2] == '/') ? "" : "/" )
|
||||||
|
|
||||||
struct DB_STR {
|
struct DB_STR {
|
||||||
char *filename;
|
char *filename;
|
||||||
|
|
||||||
@ -402,30 +404,21 @@ void build_xml(const char *file, struct DB_STR *db) {
|
|||||||
while (p) {
|
while (p) {
|
||||||
struct DB_STR *i = p->next;
|
struct DB_STR *i = p->next;
|
||||||
|
|
||||||
/* Link to file */
|
|
||||||
size_t size = sizeof(LINK) + strlen(p->filename) + 1;
|
|
||||||
char *new_link = malloc(size + 1);
|
|
||||||
if (new_link == NULL) {
|
|
||||||
fprintf(stdout, "8img: malloc: %s: %s\n", p->filename, strerror(errno));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (LINK[sizeof(LINK) - 1] == '/')
|
|
||||||
snprintf(new_link, size, "%s%s", LINK, p->filename);
|
|
||||||
|
|
||||||
else
|
|
||||||
snprintf(new_link, size, "%s/%s", LINK, p->filename);
|
|
||||||
|
|
||||||
/* Post */
|
/* Post */
|
||||||
fprintf(fp, "\n<item>\n\t<title>%s</title>\n\t<link>%s</link>\n\t<guid>%s</guid>\n\t<pubDate>\n\t\t%s\t</pubDate>\n\t<description><![CDATA[\n\t\t<p><img src='%s' alt='plup'></p>\n\t\t<p>", p->filename, new_link, new_link, ctime(&p->stat.st_ctime), new_link);
|
fprintf(fp, "\n<item>\n\t<title>%s</title>\n\t<link>%s%s%s</link>\n\t<guid>%s%s%s</guid>\n\t<pubDate>\n\t\t%s\t</pubDate>\n\t<description><![CDATA[\n\t\t<p><img src='%s%s%s' alt='plup'></p>\n\t\t<p>",
|
||||||
|
p->filename,
|
||||||
|
LINK, CHECK_URL(LINK), p->filename,
|
||||||
|
LINK, CHECK_URL(LINK), p->filename,
|
||||||
|
ctime(&p->stat.st_ctime),
|
||||||
|
LINK, CHECK_URL(LINK), p->filename);
|
||||||
|
|
||||||
/* Tags */
|
/* Tags */
|
||||||
for (size_t i = 0; i < p->size; i++)
|
for (size_t i = 0; i < p->size; i++)
|
||||||
fprintf(fp, "<a href='%s.html'> %s</a> ", p->tags[i], p->tags[i]);
|
fprintf(fp, "<a href='%s%s%s.html'> %s</a> ",
|
||||||
|
LINK, CHECK_URL(LINK), p->tags[i],
|
||||||
|
p->tags[i]);
|
||||||
|
|
||||||
fputs("</p>\n\t]]></description>\n</item>", fp);
|
fputs("</p>\n\t]]></description>\n</item>", fp);
|
||||||
free(new_link);
|
|
||||||
|
|
||||||
if (count == MAX_POST_COUNT)
|
if (count == MAX_POST_COUNT)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user