[mew-dist 25718] Re: Mew 4.2 に向けて

Yasunari Momoi momo at example.com
2004年 12月 8日 (水) 23:34:26 JST


From: Kazu Yamamoto (山本和彦) <kazu at example.com>
Subject: [mew-dist 25712] Mew 4.2 に向けて
Date: Wed, 08 Dec 2004 15:34:30 +0900 (JST)

> 何のプレッシャーもないと作業が進まないと思いますので、圧力をかけておき
> ます。:-)

むむ^^;.

> 2) 桃井さん:incm でメールをファイルモードを指定できるようにするパッチ

こんな感じでよいでしょうか.

-- momo


Index: bin/incm.1
===================================================================
RCS file: /cvsmew/mew/bin/incm.1,v
retrieving revision 1.14
diff -u -r1.14 incm.1
--- bin/incm.1	10 Aug 2004 05:21:02 -0000	1.14
+++ bin/incm.1	8 Dec 2004 14:27:59 -0000
@@ -78,6 +78,9 @@
 .B \-f
 Preserve Unix From (Envelope Sender) line in mbox case.
 .TP 8
+.B \-p " mode"
+Specify file mode that creates in mbox case.
+.Tp 8
 .B \-h
 Display this help message.
 .TP 8
Index: bin/incm.c
===================================================================
RCS file: /cvsmew/mew/bin/incm.c,v
retrieving revision 1.21
diff -u -r1.21 incm.c
--- bin/incm.c	26 Nov 2004 06:43:05 -0000	1.21
+++ bin/incm.c	8 Dec 2004 14:27:59 -0000
@@ -76,6 +76,7 @@
 private int	UseCL;
 private int	PreserveUnixFrom;
 private int	CreateMTime = TRUE;
+private int	FileMode = -1;
 private int	Exit = 0;
 
 /****************************************************************
@@ -225,6 +226,7 @@
 	"    -c            Use Content-Length: field. (for mbox)",
 	"    -u            Don't create inboxdir/.mew-mtime file.",
 	"    -f            Preserve Unix From (Envelope Sender). (for mbox)",
+	"    -p <fmode>    Specify file permission. (for mbox)",
 	NULL
 };
 
@@ -508,8 +510,7 @@
 {
 	char num[PATH_MAX];
 	int flag = O_EXCL | O_CREAT | O_WRONLY;
-	int mode = S_IRUSR | S_IRGRP | S_IROTH |
-		   S_IWUSR | S_IWGRP | S_IWOTH;
+	int mode = (FileMode != -1) ? FileMode : (S_IRUSR | S_IWUSR);
 	int fd;
 	FILE *fp = NULL;
 
@@ -876,7 +877,7 @@
 	warn_prog = progname;
 	init_env(argc, argv);
 
-	while ((ch = Getopt(argc, argv, "abcd:fhi:m:suvp")) != EOF) {
+	while ((ch = Getopt(argc, argv, "abcd:fhi:m:p:suv")) != EOF) {
 		switch (ch) {
 		case 'a':
 			GetCur = TRUE;
@@ -901,10 +902,9 @@
 				error("pathname too long (%s)", Optarg);
 			sprintf(InboxDir, "%s", Optarg);
 			break;
-		case 'p':	/* for debug */
-			printf("InboxDir: %s\n", InboxDir);
-			printf("Mbox: %s\n", Mbox);
-			exit(EXIT_SUCCESS);
+		case 'p':
+			sscanf(Optarg, "%i", &FileMode);
+			break;
 		case 's':
 			MboxType = T_STDIN;
 			break;



Mew-dist メーリングリストの案内