fixed rss builder
This commit is contained in:
parent
b7420af3ad
commit
eac855aebb
2
config.h
2
config.h
@ -13,7 +13,7 @@
|
||||
|
||||
|
||||
/* RSS generator */
|
||||
#define LINK "mygallery.com"
|
||||
#define LINK "my_gallery.com"
|
||||
#define XML_FILE "index.xml"
|
||||
|
||||
#define LANGUAGE "en-US"
|
||||
|
29
img.c
29
img.c
@ -8,6 +8,8 @@
|
||||
#include <time.h>
|
||||
#include "config.h"
|
||||
|
||||
#define CHECK_URL(x) ( (sizeof(x) > 2 && x[sizeof(x) - 2] == '/') ? "" : "/" )
|
||||
|
||||
struct DB_STR {
|
||||
char *filename;
|
||||
|
||||
@ -402,30 +404,21 @@ void build_xml(const char *file, struct DB_STR *db) {
|
||||
while (p) {
|
||||
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 */
|
||||
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 */
|
||||
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);
|
||||
free(new_link);
|
||||
|
||||
if (count == MAX_POST_COUNT)
|
||||
break;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user