Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 05-Aug-2021 | - | ||||
Decode | H A D | 05-Jan-2021 | 349 | 6 | 5 | |
Makefile.am | H A D | 27-Jul-2021 | 4 KiB | 218 | 178 | |
Makefile.in | H A D | 05-Aug-2021 | 69.5 KiB | 1,920 | 1,733 | |
Wicketfile | H A D | 05-Jan-2021 | 189 | 8 | 7 | |
addr.c | H A D | 16-Jul-2021 | 2.9 KiB | 118 | 83 | |
address.at | H A D | 05-Jan-2021 | 23.2 KiB | 1,062 | 926 | |
atlocal.in | H A D | 05-Jan-2021 | 276 | 6 | 4 | |
base64d.at | H A D | 05-Jan-2021 | 1.2 KiB | 39 | 31 | |
base64e.at | H A D | 05-Jan-2021 | 1.2 KiB | 39 | 31 | |
cidr.c | H A D | 16-Jul-2021 | 2.4 KiB | 96 | 67 | |
content-type.at | H A D | 05-Jan-2021 | 1.6 KiB | 63 | 55 | |
conttype.c | H A D | 16-Jul-2021 | 1.2 KiB | 64 | 55 | |
crlf.at | H A D | 05-Jan-2021 | 2.3 KiB | 98 | 91 | |
crlfdot.at | H A D | 05-Jan-2021 | 2.5 KiB | 110 | 100 | |
ctm.at | H A D | 05-Jan-2021 | 2.4 KiB | 96 | 88 | |
ctm.c | H A D | 16-Jul-2021 | 2.2 KiB | 107 | 81 | |
debugspec.at | H A D | 05-Jan-2021 | 2.2 KiB | 86 | 69 | |
debugspec.c | H A D | 16-Jul-2021 | 2 KiB | 69 | 42 | |
decode2047.at | H A D | 05-Jan-2021 | 2.1 KiB | 62 | 52 | |
decode2047.c | H A D | 16-Jul-2021 | 2 KiB | 75 | 53 | |
dot.at | H A D | 05-Jan-2021 | 1.6 KiB | 86 | 79 | |
dump.c | H A D | 16-Jul-2021 | 1.5 KiB | 80 | 64 | |
encode2047.at | H A D | 05-Jan-2021 | 2.7 KiB | 70 | 59 | |
encode2047.c | H A D | 16-Jul-2021 | 3.4 KiB | 150 | 117 | |
exp.at | H A D | 05-Jan-2021 | 1.7 KiB | 52 | 43 | |
exp.c | H A D | 16-Jul-2021 | 1.4 KiB | 68 | 43 | |
fltcnt.at | H A D | 15-Jul-2021 | 233 | 6 | 6 | |
fltcnt.c | H A D | 16-Jul-2021 | 5.9 KiB | 228 | 130 | |
fltst.c | H A D | 27-Jul-2021 | 5.6 KiB | 220 | 177 | |
fromflt.at | H A D | 05-Jan-2021 | 2.1 KiB | 96 | 75 | |
fromrd.at | H A D | 16-Jul-2021 | 556 | 57 | 54 | |
fsaf.at | H A D | 05-Jan-2021 | 1.9 KiB | 92 | 78 | |
fsaf.c | H A D | 16-Jul-2021 | 1.8 KiB | 73 | 52 | |
fsaftomod.at | H A D | 05-Jan-2021 | 1.3 KiB | 43 | 38 | |
fsaftomod.c | H A D | 16-Jul-2021 | 1.7 KiB | 61 | 40 | |
fsfolder.c | H A D | 16-Jul-2021 | 9.2 KiB | 376 | 320 | |
fsfolder00.at | H A D | 22-May-2021 | 1.3 KiB | 54 | 49 | |
fsfolder01.at | H A D | 05-Jan-2021 | 2 KiB | 75 | 68 | |
fsfolder02.at | H A D | 22-May-2021 | 1.1 KiB | 40 | 35 | |
fsfolder03.at | H A D | 22-May-2021 | 1.1 KiB | 45 | 42 | |
fsfolder04.at | H A D | 22-May-2021 | 1.1 KiB | 43 | 38 | |
globtest.at | H A D | 05-Jan-2021 | 1.6 KiB | 46 | 42 | |
globtest.c | H A D | 16-Jul-2021 | 2.9 KiB | 117 | 87 | |
hdrcpy.at | H A D | 27-Jul-2021 | 1.2 KiB | 40 | 37 | |
hdrcpy.c | H A D | 16-Jul-2021 | 1,007 | 28 | 10 | |
hdrflt.at | H A D | 05-Jan-2021 | 1.2 KiB | 42 | 35 | |
htmlent.at | H A D | 05-Jan-2021 | 1.5 KiB | 74 | 67 | |
imapio.at | H A D | 05-Jan-2021 | 2.4 KiB | 130 | 116 | |
imapio.c | H A D | 16-Jul-2021 | 2.5 KiB | 92 | 62 | |
inline-comment.at | H A D | 05-Jan-2021 | 4.1 KiB | 237 | 206 | |
lck.c | H A D | 16-Jul-2021 | 9.2 KiB | 372 | 223 | |
linecon.at | H A D | 05-Jan-2021 | 2 KiB | 90 | 77 | |
linetrack.at | H A D | 05-Jan-2021 | 4 KiB | 295 | 278 | |
linetrack.c | H A D | 16-Jul-2021 | 4.3 KiB | 198 | 171 | |
list.at | H A D | 05-Jan-2021 | 6.8 KiB | 543 | 476 | |
listop.c | H A D | 16-Jul-2021 | 18.5 KiB | 916 | 785 | |
listsort.c | H A D | 16-Jul-2021 | 6.1 KiB | 250 | 166 | |
lock.at | H A D | 30-Apr-2021 | 3.1 KiB | 140 | 113 | |
logstr.at | H A D | 05-Jan-2021 | 2.2 KiB | 83 | 82 | |
logstr.c | H A D | 16-Jul-2021 | 19.3 KiB | 774 | 519 | |
mailcap.at | H A D | 05-Jan-2021 | 13.6 KiB | 540 | 450 | |
mailcap.c | H A D | 16-Jul-2021 | 5 KiB | 200 | 152 | |
mcf.c | H A D | 16-Jul-2021 | 3.8 KiB | 154 | 119 | |
mimehdr.at | H A D | 05-Jan-2021 | 8.8 KiB | 304 | 267 | |
mimehdr.c | H A D | 16-Jul-2021 | 4 KiB | 144 | 112 | |
mimeitr.c | H A D | 16-Jul-2021 | 1.6 KiB | 53 | 32 | |
modmesg.at | H A D | 05-Jan-2021 | 1.5 KiB | 72 | 60 | |
modmesg.c | H A D | 16-Jul-2021 | 3.4 KiB | 130 | 93 | |
modtofsaf.at | H A D | 05-Jan-2021 | 1.3 KiB | 57 | 48 | |
modtofsaf.c | H A D | 16-Jul-2021 | 1.5 KiB | 57 | 36 | |
msgset.at | H A D | 05-Jan-2021 | 4.3 KiB | 187 | 156 | |
msgset.c | H A D | 16-Jul-2021 | 5.5 KiB | 229 | 184 | |
parseopt.c | H A D | 16-Jul-2021 | 6.6 KiB | 241 | 198 | |
parseopt00.at | H A D | 05-Jan-2021 | 1 KiB | 38 | 36 | |
parseopt01.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt02.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt03.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt04.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt05.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt06.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt07.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt08.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt09.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt10.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt11.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt12.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt13.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt14.at | H A D | 05-Jan-2021 | 1 KiB | 30 | 28 | |
parseopt15.at | H A D | 05-Jan-2021 | 1.1 KiB | 41 | 39 | |
parseopt16.at | H A D | 05-Jan-2021 | 1.1 KiB | 38 | 36 | |
parseopt17.at | H A D | 05-Jan-2021 | 1.4 KiB | 65 | 62 | |
parseopt18.at | H A D | 05-Jan-2021 | 1.1 KiB | 42 | 39 | |
parseopt19.at | H A D | 05-Jan-2021 | 1.1 KiB | 43 | 40 | |
parseopt20.at | H A D | 05-Jan-2021 | 969 | 28 | 26 | |
parseopt21.at | H A D | 05-Jan-2021 | 974 | 28 | 26 | |
parseopt22.at | H A D | 05-Jan-2021 | 949 | 28 | 26 | |
parseopt23.at | H A D | 05-Jan-2021 | 1.1 KiB | 43 | 40 | |
parseopt24.at | H A D | 05-Jan-2021 | 959 | 28 | 26 | |
parseopt25.at | H A D | 05-Jan-2021 | 944 | 27 | 25 | |
parseopt26.at | H A D | 05-Jan-2021 | 1 KiB | 31 | 29 | |
parseopt27.at | H A D | 05-Jan-2021 | 1.1 KiB | 40 | 38 | |
parseopt28.at | H A D | 05-Jan-2021 | 1.3 KiB | 57 | 55 | |
parseopt_help00.at | H A D | 05-Jan-2021 | 1.6 KiB | 52 | 42 | |
parseopt_help01.at | H A D | 05-Jan-2021 | 1.1 KiB | 30 | 28 | |
parseopt_help02.at | H A D | 05-Jan-2021 | 1.6 KiB | 52 | 42 | |
parseopt_help03.at | H A D | 05-Jan-2021 | 1.7 KiB | 53 | 43 | |
parseopt_help04.at | H A D | 05-Jan-2021 | 1.7 KiB | 52 | 42 | |
parseopt_help05.at | H A D | 05-Jan-2021 | 1.7 KiB | 53 | 43 | |
parseopt_help06.at | H A D | 05-Jan-2021 | 1.8 KiB | 53 | 43 | |
parseopt_help07.at | H A D | 05-Jan-2021 | 2.1 KiB | 62 | 52 | |
parseopt_help08.at | H A D | 05-Jan-2021 | 1.7 KiB | 50 | 41 | |
parseopt_help09.at | H A D | 05-Jan-2021 | 1.2 KiB | 31 | 29 | |
parseopt_help10.at | H A D | 05-Jan-2021 | 1.2 KiB | 30 | 28 | |
parseopt_help11.at | H A D | 05-Jan-2021 | 1.7 KiB | 51 | 43 | |
parseopt_help12.at | H A D | 05-Jan-2021 | 1.8 KiB | 54 | 44 | |
prop.at | H A D | 05-Jan-2021 | 2.6 KiB | 127 | 113 | |
prop.c | H A D | 16-Jul-2021 | 3.8 KiB | 159 | 130 | |
readmesg.at | H A D | 05-Jan-2021 | 2 KiB | 72 | 63 | |
readmesg.c | H A D | 16-Jul-2021 | 3 KiB | 112 | 79 | |
recenv.at | H A D | 05-Jan-2021 | 1.5 KiB | 57 | 50 | |
recenv.c | H A D | 16-Jul-2021 | 1.6 KiB | 53 | 32 | |
scantime.at | H A D | 05-Jan-2021 | 9.1 KiB | 242 | 222 | |
scantime.c | H A D | 16-Jul-2021 | 2.7 KiB | 102 | 76 | |
stream-getdelim.c | H A D | 16-Jul-2021 | 4.9 KiB | 219 | 162 | |
streams.at | H A D | 05-Jan-2021 | 1.3 KiB | 44 | 38 | |
strerr.at | H A D | 05-Jan-2021 | 1.1 KiB | 34 | 27 | |
strftime.at | H A D | 05-Jan-2021 | 18.1 KiB | 1,922 | 1,865 | |
strftime.c | H A D | 16-Jul-2021 | 2.5 KiB | 106 | 80 | |
strin.at | H A D | 05-Jan-2021 | 963 | 33 | 26 | |
strin.c | H A D | 16-Jul-2021 | 2.4 KiB | 101 | 60 | |
strout.at | H A D | 05-Jan-2021 | 1.1 KiB | 33 | 26 | |
strout.c | H A D | 16-Jul-2021 | 3.1 KiB | 136 | 79 | |
strtoc.c | H A D | 16-Jul-2021 | 8.8 KiB | 382 | 322 | |
t-streamshift.c | H A D | 16-Jul-2021 | 7.2 KiB | 282 | 201 | |
t0-stream.c | H A D | 16-Jul-2021 | 2.3 KiB | 75 | 39 | |
t1-stream.c | H A D | 16-Jul-2021 | 2.6 KiB | 124 | 93 | |
tcli.c | H A D | 16-Jul-2021 | 2 KiB | 79 | 52 | |
temp_stream.c | H A D | 16-Jul-2021 | 3.2 KiB | 124 | 59 | |
tempfile.c | H A D | 16-Jul-2021 | 4.3 KiB | 159 | 122 | |
tesh.c | H A D | 16-Jul-2021 | 8.2 KiB | 402 | 339 | |
tesh.h | H A D | 16-Jul-2021 | 6.7 KiB | 177 | 22 | |
testsuite | H A D | 05-Aug-2021 | 930.1 KiB | 37,352 | 32,281 | |
testsuite.at | H A D | 27-Jul-2021 | 6.8 KiB | 269 | 229 | |
tocrlf.c | H A D | 16-Jul-2021 | 200 | 18 | 13 | |
url-comp.at | H A D | 05-Jan-2021 | 2.5 KiB | 72 | 67 | |
url-comp.c | H A D | 16-Jul-2021 | 3.4 KiB | 148 | 119 | |
url-parse.c | H A D | 16-Jul-2021 | 4.6 KiB | 177 | 142 | |
url.at | H A D | 05-Jan-2021 | 12.2 KiB | 890 | 806 | |
vexp.c | H A D | 16-Jul-2021 | 1.3 KiB | 53 | 31 | |
wicket.at | H A D | 05-Jan-2021 | 2 KiB | 54 | 49 | |
wicket.c | H A D | 16-Jul-2021 | 2.5 KiB | 107 | 74 | |
wordsplit-version.h | H A D | 05-Aug-2021 | 70 | 3 | 2 | |
wordwrap.c | H A D | 16-Jul-2021 | 3.7 KiB | 163 | 134 | |
wordwrap00.at | H A D | 05-Jan-2021 | 3.2 KiB | 45 | 44 | |
wordwrap01.at | H A D | 05-Jan-2021 | 1.9 KiB | 37 | 36 | |
wordwrap02.at | H A D | 05-Jan-2021 | 1.6 KiB | 33 | 32 | |
wordwrap03.at | H A D | 05-Jan-2021 | 961 | 25 | 25 | |
xml.at | H A D | 05-Jan-2021 | 1.1 KiB | 42 | 36 | |
xscript.at | H A D | 05-Jan-2021 | 3.2 KiB | 123 | 119 | |
xscript.c | H A D | 16-Jul-2021 | 5.7 KiB | 244 | 167 |
readmesg.at
1# This file is part of GNU Mailutils. -*- Autotest -*- 2# Copyright (C) 2020-2021 Free Software Foundation, Inc. 3# 4# GNU Mailutils is free software; you can redistribute it and/or 5# modify it under the terms of the GNU General Public License as 6# published by the Free Software Foundation; either version 3, or (at 7# your option) any later version. 8# 9# GNU Mailutils is distributed in the hope that it will be useful, but 10# WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12# General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. 16 17AT_SETUP([Reading message from stream]) 18AT_KEYWORDS([readmesg]) 19 20AT_DATA([input.mbox], 21[[From gray@example.net Sat Aug 1 10:53:43 2020 22Return-Path: <gray@example.net> 23Organization: Mailutils-tests 24Received: from example.net (localhost [127.0.0.1]) 25 by example.net with ESMTP id g6G9BZb00791 26 for <gray@example.net>; Sat, 1 Aug 2020 13:53:43 +0300 27Message-Id: <200207160911.g6G9BZb00791@example.net> 28To: Bin <bin@example.org> 29Subject: Read from stream 30Date: Sat, 1 Aug 2020 13:53:43 +0300 31From: Sergey Poznyakoff <gray@example.net> 32 33This is a sample message. 34]]) 35 36AT_DATA([input.mesg], 37[[Return-Path: <gray@example.net> 38Organization: Mailutils-tests 39Received: from example.net (localhost [127.0.0.1]) 40 by example.net with ESMTP id g6G9BZb00791 41 for <gray@example.net>; Sat, 1 Aug 2020 13:53:43 +0300 42Message-Id: <200207160911.g6G9BZb00791@example.net> 43To: Bin <bin@example.org> 44Subject: Read from stream 45Date: Sat, 1 Aug 2020 13:53:43 +0300 46From: Sergey Poznyakoff <gray@example.net> 47 48This is a sample message. 49]]) 50 51AT_DATA([expout], 52[Sender: gray@example.net 53Date: Sat Aug 1 10:53:43 2020 54Size: 425 55Lines: 12 56Headers: 8 57Header size: 399 58Header lines: 11 59Body size: 26 60Body lines: 1 61This is a sample message. 62]) 63 64AT_CHECK([readmesg input.mbox], 65[0], 66[expout]) 67 68AT_CHECK([readmesg input.mesg], 69[0], 70[expout]) 71 72AT_CLEANUP
readmesg.c
1 /* GNU Mailutils -- a suite of utilities for electronic mail 2 Copyright (C) 2020-2021 Free Software Foundation, Inc. 3 4 GNU Mailutils is free software; you can redistribute it and/or modify 5 it under the terms of the GNU General Public License as published by 6 the Free Software Foundation; either version 3, or (at your option) 7 any later version. 8 9 GNU Mailutils is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU General Public License for more details. 13 14 You should have received a copy of the GNU General Public License 15 along with GNU Mailutils. If not, see <http://www.gnu.org/licenses/>. */ 16 17 #ifdef HAVE_CONFIG_H 18 # include <config.h> 19 #endif 20 #include <mailutils/mailutils.h> 21 22 static void print_envelope(mu_message_t msg)23print_envelope (mu_message_t msg) 24 { 25 mu_envelope_t env; 26 char const *sender, *date; 27 28 MU_ASSERT (mu_message_get_envelope (msg, &env)); 29 MU_ASSERT (mu_envelope_sget_sender (env, &sender)); 30 mu_printf ("Sender: %s\n", sender); 31 MU_ASSERT (mu_envelope_sget_date (env, &date)); 32 mu_printf ("Date: %s\n", date); 33 } 34 35 static void print_stats(mu_message_t msg)36print_stats (mu_message_t msg) 37 { 38 size_t n; 39 40 MU_ASSERT (mu_message_size (msg, &n)); 41 mu_printf ("Size: %lu\n", (unsigned long) n); 42 MU_ASSERT (mu_message_lines (msg, &n)); 43 mu_printf ("Lines: %lu\n", (unsigned long) n); 44 } 45 46 static void print_header(mu_message_t msg)47print_header (mu_message_t msg) 48 { 49 mu_header_t hdr; 50 size_t n; 51 52 MU_ASSERT (mu_message_get_header (msg, &hdr)); 53 MU_ASSERT (mu_header_get_field_count (hdr, &n)); 54 mu_printf ("Headers: %lu\n", (unsigned long) n); 55 MU_ASSERT (mu_header_size (hdr, &n)); 56 mu_printf ("Header size: %lu\n", (unsigned long) n); 57 MU_ASSERT (mu_header_lines (hdr, &n)); 58 mu_printf ("Header lines: %lu\n", (unsigned long) n); 59 } 60 61 static void print_body(mu_message_t msg)62print_body (mu_message_t msg) 63 { 64 mu_body_t body; 65 mu_stream_t str; 66 size_t n; 67 68 MU_ASSERT (mu_message_get_body (msg, &body)); 69 70 MU_ASSERT (mu_body_size (body, &n)); 71 mu_printf ("Body size: %lu\n", (unsigned long) n); 72 MU_ASSERT (mu_body_lines (body, &n)); 73 mu_printf ("Body lines: %lu\n", (unsigned long) n); 74 75 MU_ASSERT (mu_body_get_streamref (body, &str)); 76 MU_ASSERT (mu_stream_copy (mu_strout, str, 0, NULL)); 77 mu_stream_destroy (&str); 78 } 79 80 int main(int argc,char ** argv)81main (int argc, char **argv) 82 { 83 mu_stream_t instr; 84 mu_message_t msg; 85 86 mu_set_program_name (argv[0]); 87 mu_cli_simple (argc, argv, 88 MU_CLI_OPTION_PROG_DOC, "Reads first message from FILE and " 89 "prints its summary (envelope, stats, header and body).", 90 MU_CLI_OPTION_PROG_ARGS, "FILE", 91 MU_CLI_OPTION_RETURN_ARGC, &argc, 92 MU_CLI_OPTION_RETURN_ARGV, &argv, 93 MU_CLI_OPTION_END); 94 95 if (argc != 1) 96 { 97 mu_error ("required argument missing"); 98 return 2; 99 } 100 101 mu_set_user_email_domain ("localhost"); 102 MU_ASSERT (mu_file_stream_create (&instr, argv[0], MU_STREAM_READ)); 103 MU_ASSERT (mu_stream_to_message (instr, &msg)); 104 105 print_envelope (msg); 106 print_stats (msg); 107 print_header (msg); 108 print_body (msg); 109 110 return 0; 111 } 112