Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
John McEleney
/
mailutils
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
Commit
0aa5b0a2
...
0aa5b0a2606eb1b0c6fde745051a459fab872187
authored
2003-01-29 13:08:54 +0000
by
Sergey Poznyakoff
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
New file. Test program for rfc2047 decoder functions.
1 parent
a13af102
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
69 additions
and
0 deletions
examples/decode2047.c
examples/decode2047.c
0 → 100644
View file @
0aa5b0a
/* GNU Mailutils -- a suite of utilities for electronic mail
Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
GNU Mailutils is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
GNU Mailutils is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Mailutils; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <mailutils/mailutils.h>
void
print
(
char
*
p
,
int
printable
)
{
for
(;
*
p
;
p
++
)
{
if
(
printable
&&
*
p
!=
'\n'
&&
!
isprint
(
*
p
))
printf
(
"
\\
%03o"
,
*
(
unsigned
char
*
)
p
);
else
putchar
(
*
p
);
}
}
int
main
(
int
argc
,
char
*
argv
[])
{
char
buf
[
256
];
int
c
,
printable
=
0
;
while
((
c
=
getopt
(
argc
,
argv
,
"p"
))
!=
EOF
)
switch
(
c
)
{
case
'p'
:
printable
=
1
;
break
;
default:
exit
(
1
);
}
while
(
fgets
(
buf
,
sizeof
(
buf
),
stdin
))
{
char
*
p
=
NULL
;
int
rc
,
len
;
len
=
strlen
(
buf
);
if
(
len
>
0
&&
buf
[
len
-
1
]
==
'\n'
)
buf
[
len
-
1
]
=
0
;
rc
=
rfc2047_decode
(
"iso-8859-1"
,
buf
,
&
p
);
printf
(
"%s=> %s
\n
"
,
buf
,
mu_strerror
(
rc
));
if
(
p
)
print
(
p
,
printable
);
putchar
(
'\n'
);
free
(
p
);
}
}
Please
register
or
sign in
to post a comment