diff options
Diffstat (limited to 'rfc2045')
| -rw-r--r-- | rfc2045/reformime.c | 5 | ||||
| -rw-r--r-- | rfc2045/testsuitemm | 21 | ||||
| -rw-r--r-- | rfc2045/testsuitemm.txt | 5 |
3 files changed, 29 insertions, 2 deletions
diff --git a/rfc2045/reformime.c b/rfc2045/reformime.c index 4d1fb67..a47eabf 100644 --- a/rfc2045/reformime.c +++ b/rfc2045/reformime.c @@ -1179,11 +1179,12 @@ int rc=0; dsn(p, dodsn == 2); else if (do_extract) { - mimesection = strtok(section,","); + mimesection = section ? strtok(section, ","):NULL; do { extract_section(p, mimesection, extract_filename, argc-argn, argv+argn, do_extract); - mimesection = strtok(NULL,","); + if (mimesection) + mimesection = strtok(NULL,","); } while (mimesection != NULL); } else if (dovalidate) diff --git a/rfc2045/testsuitemm b/rfc2045/testsuitemm index 8b861b7..585b868 100644 --- a/rfc2045/testsuitemm +++ b/rfc2045/testsuitemm @@ -55,3 +55,24 @@ rm -f confmdtest ./reformime -o 'дададададададададада foo bar дададададададададада' ./reformime -h '=?UTF-8?B?0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsA==?= foo bar =?UTF-8?B?0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsA==?=' +cat >testsuite.msg <<EOF +Mime-Version: 1.0 +Content-Type: multipart/mixed; boundary=xx + +--xx +Content-Type: text/plain + +section 1 + +--xx +Content-Type text/plain + +section 2 + +--xx-- +EOF +echo "" +./reformime -X -s1.1 `which cat` <testsuite.msg +./reformime -X -s1.2 `which cat` <testsuite.msg +./reformime -X `which cat` <testsuite.msg +rm -f testsuite.msg diff --git a/rfc2045/testsuitemm.txt b/rfc2045/testsuitemm.txt index a68e3b9..04e31d2 100644 --- a/rfc2045/testsuitemm.txt +++ b/rfc2045/testsuitemm.txt @@ -71,3 +71,8 @@ qcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqQo= дададададададададада foo дададададададададада =?UTF-8?B?0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsA==?= foo bar =?UTF-8?B?0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsNC00LDQtNCw0LTQsA==?= дададададададададада foo bar дададададададададада + +section 1 +section 2 +section 1 +section 2 |
