2004-12-18 [paul] 0.9.13cvs21
authorPaul Mangan <paul@claws-mail.org>
Sat, 18 Dec 2004 07:11:57 +0000 (07:11 +0000)
committerPaul Mangan <paul@claws-mail.org>
Sat, 18 Dec 2004 07:11:57 +0000 (07:11 +0000)
* AUTHORS
* ChangeLog
* ChangeLog.jp
* src/action.c
sync with main, see ChangeLog 2004-12-17

AUTHORS
ChangeLog
ChangeLog.claws
ChangeLog.jp
PATCHSETS
configure.ac
src/action.c

diff --git a/AUTHORS b/AUTHORS
index a66b9af..66093b4 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -147,7 +147,7 @@ contributors (beside the above; based on Changelog)
        Tobias Sandhaas
        Thomas Link
        Martin Pool
-       Fredrik Olofsson
+       Fredrik Olofssen
        Gustavo Noronha Silva
        Simon 'corecode' Schubert
        Dale P. Smith
@@ -213,3 +213,4 @@ contributors (beside the above; based on Changelog)
        Guy Rouillier
        Jean-Yves Lefort
        George Michaelson
+       IWAMOTO Kouichi
index 9ee0562..978a809 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-12-17
+
+       * src/action.c: parse_append_filename(): escape all special characters
+         without quote (thanks to IWAMOTO Kouichi and Yoichi Imai).
+       * AUTHORS: updated.
+
 2004-12-16
 
        * INSTALL
index 6a12bc7..02884a5 100644 (file)
@@ -1,3 +1,11 @@
+2004-12-18 [paul]      0.9.13cvs21
+
+       * AUTHORS
+       * ChangeLog
+       * ChangeLog.jp
+       * src/action.c
+               sync with main, see ChangeLog 2004-12-17
+
 2004-12-17 [thorsten]  0.9.13cvs20
 
        * src/compose.c
index db0e112..19fb827 100644 (file)
@@ -1,3 +1,15 @@
+2004-12-17
+
+       * src/action.c: parse_append_filename(): Á´¤Æ¤ÎÆüìʸ»ú¤ò°úÍÑÉä¤Ê¤·¤Ë
+         ¥¨¥¹¥±¡¼¥×¤¹¤ë¤è¤¦¤Ë¤·¤¿(IWAMOTO Kouichi ¤µ¤ó¤È Yoichi Imai ¤µ¤ó
+         thanks)¡£
+       * AUTHORS: ¹¹¿·¡£
+
+2004-12-16
+
+       * INSTALL
+         INSTALL.jp: Æ°ºî³Îǧ¥ê¥¹¥È¤ò¹¹¿·¡£
+
 2004-12-15
 
        * version 1.0.0rc
index 3de0892..6ac9441 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( cvs diff -u -r 1.19 -r 1.20 src/gtk/prefswindow.c; ) > 0.9.13cvs18.patchset
 ( cvs diff -u -r 1.450 -r 1.451 ChangeLog; cvs diff -u -r 1.445 -r 1.446 ChangeLog.jp; cvs diff -u -r 1.53 -r 1.54 NEWS; cvs diff -u -r 1.464 -r 1.465 src/compose.c; cvs diff -u -r 1.16 -r 1.17 src/syldap.c; ) > 0.9.13cvs19.patchset
 ( cvs diff -u -r 1.465 -r 1.466 src/compose.c; ) > 0.9.13cvs20.patchset
+( cvs diff -u -r 1.124 -r 1.125 AUTHORS; cvs diff -u -r 1.451 -r 1.452 ChangeLog; cvs diff -u -r 1.446 -r 1.447 ChangeLog.jp; cvs diff -u -r 1.19 -r 1.20 src/action.c; ) > 0.9.13cvs21.patchset
index 7be3785..e53f336 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=13
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=20
+EXTRA_VERSION=21
 EXTRA_RELEASE=
 
 if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
index cc34475..1a16aaf 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto & The Sylpheed Claws Team
+ * Copyright (C) 1999-2004 Hiroyuki Yamamoto & The Sylpheed Claws Team
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -334,35 +334,31 @@ static gchar *parse_action_cmd(gchar *action, MsgInfo *msginfo,
 static gboolean parse_append_filename(GString *cmd, MsgInfo *msginfo)
 {
        gchar *filename;
-       gchar *p;
+       gchar *p, *q;
+       gchar escape_ch[] = "\\ ";
 
        g_return_val_if_fail(msginfo, FALSE);
 
        filename = procmsg_get_message_file(msginfo);
 
-       if (filename) {
-               g_string_append_c(cmd, '"');
-               for (p = filename; *p != '\0'; p++) {
-                       switch (*p) {
-                       case '$':
-                       case '"':
-                       case '`':
-                       case '\\':
-                               g_string_append_c(cmd, '\\');
-                               break;
-                       default:
-                               break;
-                       }
-                       g_string_append_c(cmd, *p);
-               }
-               g_string_append_c(cmd, '"');
-               g_free(filename);
-       } else {
+       if (!filename) {
                alertpanel_error(_("Could not get message file %d"),
                                 msginfo->msgnum);
                return FALSE;
        }
 
+       p = filename;
+       while ((q = strpbrk(p, "$\"`'\\ \t*?[]&|;<>()!#~")) != NULL) {
+               escape_ch[1] = *q;
+               *q = '\0';
+               g_string_append(cmd, p);
+               g_string_append(cmd, escape_ch);
+               p = q + 1;
+       }
+       g_string_append(cmd, p);
+
+       g_free(filename);
+
        return TRUE;
 }