From 2647daf5e2c226c2b75d142e20349e317b954e73 Mon Sep 17 00:00:00 2001 Message-Id: <2647daf5e2c226c2b75d142e20349e317b954e73.1715177619.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 18 May 2008 22:05:36 +0100 Subject: [PATCH] Make "short" context in @part actually work Organization: Straylight/Edgeware From: Richard Kettlewell --- server/disorder-cgi.h | 1 + server/macros-disorder.c | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/server/disorder-cgi.h b/server/disorder-cgi.h index 9da8975..beb8581 100644 --- a/server/disorder-cgi.h +++ b/server/disorder-cgi.h @@ -56,6 +56,7 @@ #include "split.h" #include "mime.h" #include "sendmail.h" +#include "charset.h" extern disorder_client *dcgi_client; extern char *dcgi_cookie; diff --git a/server/macros-disorder.c b/server/macros-disorder.c index 2dc8098..eff6313 100644 --- a/server/macros-disorder.c +++ b/server/macros-disorder.c @@ -149,7 +149,7 @@ static int exp_part(int nargs, void attribute((unused)) *u) { const char *track = args[0], *part = args[1]; const char *context = nargs > 2 ? args[2] : "display"; - char *s; + const char *s; if(track[0] != '/') { struct queue_entry *q = dcgi_findtrack(track); @@ -160,11 +160,14 @@ static int exp_part(int nargs, return 0; } if(dcgi_client - && !disorder_part(dcgi_client, &s, + && !disorder_part(dcgi_client, (char **)&s, track, !strcmp(context, "short") ? "display" : context, - part)) + part)) { + if(!strcmp(context, "short")) + s = truncate_for_display(s, config->short_display); return sink_writes(output, cgi_sgmlquote(s)) < 0 ? -1 : 0; + } return 0; } -- [mdw]