[ekg2-commit] ekg2: drafts.c (HEAD) jogger.c (HEAD) [peres]
CVS commit
cvs w toxygen.net
Nie, 6 Maj 2007, 10:38:03 CEST
Module name: ekg2
Changes by: peres 2007-05-06 10:38:01
Modified files:
drafts.c jogger.c
Log message:
- 'snippets' posted with formats now have '...' inside, only when needed,
- checking for deprecated 'miniblog' key,
- checking for both miniblog&techblog entries,
- checking trackback URL.
Index: drafts.c
===================================================================
RCS file: /home/cvs/ekg2/plugins/jogger/drafts.c,v
diff -d -u -r1.2 -r1.3
--- drafts.c 6 May 2007 00:06:45 -0000 1.2
+++ drafts.c 6 May 2007 08:38:01 -0000 1.3
@@ -31,14 +31,16 @@
#include <ekg/xmalloc.h>
/* XXX, iconvize */
+ /* 10 char-long don't use ':', because they're already on limit (longer ones are discarded) */
const char *jogger_header_keys[] = {
"tytul:", "temat:", "subject:", "tytuĹ:", NULL,
- "kategoria:", "category:", "kategorie:", "categories", NULL,
"tag:", NULL,
"poziom:", "level:", NULL,
- "trackback:", NULL, /* 5 - XXX check URI? */
+ "kategoria:", "category:", "kategorie:", "categories", NULL, /* 4 */
+ "trackback:", NULL, /* 5 */
"tidy", NULL, /* 6 - XXX jhv, 1st */
"komentarze", "comments:", NULL, /* 7 - XXX jhv, 1&2 */
+ "miniblog:", NULL, /* 8 - deprecated */
NULL
};
@@ -130,9 +132,9 @@
const char *end = xstrchr(s, ')');
const char *next = xstrchr(s, '\n');
- char tmp[12]; /* longest correct key has 10 chars + '(' + \0 */
- xstrncpy(tmp, s, 11);
- tmp[11] = 0;
+ char tmp[24]; /* longest correct key has 10 chars + '(' + \0 */
+ xstrncpy(tmp, s, 20);
+ xstrcpy(tmp+20, "..."); /* add ellipsis and \0 */
xstrtr(tmp, '\n', 0);
if (!sep || !end || !next || (sep > end) || (end+1+xstrspn(end+1, " ") != next)) {
@@ -142,7 +144,7 @@
} else if ((*(s+1) == ' ') || (*(sep-1) == ' '))
print("jogger_warning_wrongkey_spaces", tmp);
else {
- int i = 0;
+ int i = 1;
const char **p = (sep-s < 12 ? jogger_header_keys : NULL);
for (; *p; i++, p++) { /* awaiting second NULL here */
@@ -161,6 +163,17 @@
if (!p || !*p)
print("jogger_warning_wrongkey", tmp);
+ else if (i == 4) {
+ char *values = xstrndup(sep+1, end-sep-1);
+ if (cssfind(values, "techblog", ',', 1) && cssfind(values, "miniblog", ',', 1))
+ print("jogger_warning_miniblog_techblog", tmp);
+ xfree(values);
+ } else if (i == 5) {
+ const char *first = sep+1+xstrcspn(sep+1, " ");
+ if (xstrncmp(first, "http://", 7) && xstrncmp(first, "https://", 8)) /* XXX: https trackbacks? */
+ print("jogger_warning_malformed_url", tmp);
+ } else if (i == 8)
+ print("jogger_warning_deprecated_miniblog", tmp);
}
s = next+1;
@@ -168,9 +181,9 @@
s += xstrspn(s, " \n\r"); /* get on to first real char (again) */
if (*s == '(') {
- char tmp[11];
+ char tmp[14];
xstrncpy(tmp, s, 10);
- tmp[10] = 0;
+ xstrcpy(tmp+10, "...");
xstrtr(tmp, '\n', 0);
print("jogger_warning_mislocated_header", tmp);
}
Index: jogger.c
===================================================================
RCS file: /home/cvs/ekg2/plugins/jogger/jogger.c,v
diff -d -u -r1.14 -r1.15
--- jogger.c 6 May 2007 00:06:45 -0000 1.14
+++ jogger.c 6 May 2007 08:38:01 -0000 1.15
@@ -228,11 +228,14 @@
format_add("jogger_cantread", _("%! Unable to read entry file!"), 1);
format_add("jogger_emptyfile", _("%! File is empty!"), 1);
format_add("jogger_warning", _("%> During QA check of the entry, following warnings have been issued:"), 1);
- format_add("jogger_warning_brokenheader", _("%> %|* Header with broken syntax found: %c%1%n..."), 1);
- format_add("jogger_warning_wrongkey", _("%> %|* Header contains unknown/wrong key: %c%1%n..."), 1);
- format_add("jogger_warning_wrongkey_spaces", _("%> %|* Key in header mustn't be followed or preceeded by spaces: %c%1%n..."), 1);
- format_add("jogger_warning_duplicated_header", _("%> %|* Duplicated header found: %c%1%n..."), 1);
- format_add("jogger_warning_mislocated_header", _("%> %|* Mislocated header (?): %c%1%n..."), 1);
+ format_add("jogger_warning_brokenheader", _("%> %|* Header with broken syntax found at: %c%1%n"), 1);
+ format_add("jogger_warning_wrongkey", _("%> %|* Header contains unknown/wrong key at: %c%1%n"), 1);
+ format_add("jogger_warning_wrongkey_spaces", _("%> %|* Key in header mustn't be followed or preceeded by spaces at: %c%1%n"), 1);
+ format_add("jogger_warning_deprecated_miniblog", _("%> %|* Key %Tminiblog%n is deprecated in favor of such category at: %c%1%n"), 1);
+ format_add("jogger_warning_miniblog_techblog", _("%> %|* Miniblog entry will be posted to Techblog at: %c%1%n"), 1);
+ format_add("jogger_warning_malformed_url", _("%> %|* Malformed URL found at: %c%1%n"), 1);
+ format_add("jogger_warning_duplicated_header", _("%> %|* Duplicated header found at: %c%1%n"), 1);
+ format_add("jogger_warning_mislocated_header", _("%> %|* Mislocated header (?) at: %c%1%n"), 1);
format_add("jogger_warning_noexcerpt", _("%> %|* Entry text size exceeds 4096 bytes, but no <EXCERPT> tag has been found. It will be probably cut by Jogger near: ...%c%1%n..."), 1);
#endif
return 0;
Więcej informacji o liście dyskusyjnej ekg2-commit