diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2009-09-27 21:44:29 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2009-09-27 21:44:29 +0000 |
commit | 43939e66b1d4eeb2f3799c124f3598756755005a (patch) | |
tree | 15733092de55d52421a6ea02f5a43d5f8ff24393 /converter/other/pamtopam.c | |
parent | 49f4336c9bba33650573ba780b70bc501b38643e (diff) | |
download | netpbm-mirror-43939e66b1d4eeb2f3799c124f3598756755005a.tar.gz netpbm-mirror-43939e66b1d4eeb2f3799c124f3598756755005a.tar.xz netpbm-mirror-43939e66b1d4eeb2f3799c124f3598756755005a.zip |
Rebase Stable series to current Advanced: 10.47.04
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@995 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/other/pamtopam.c')
-rw-r--r-- | converter/other/pamtopam.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/converter/other/pamtopam.c b/converter/other/pamtopam.c new file mode 100644 index 00000000..cae54060 --- /dev/null +++ b/converter/other/pamtopam.c @@ -0,0 +1,57 @@ +/*============================================================================= + pamtopam +=============================================================================== + Part of the Netpbm package. + + Copy PAM and PNM (i.e. PBM, PGM, or PPM) images from Standard Input + to Standard Output (while converting PNM images to PAM) + + By Paul Bolle October 2007. + + Contributed to the public domain by its author. +=============================================================================*/ + +#include "pm_c_util.h" +#include "pam.h" + +int +main(int argc, const char * argv[]) { + + bool eof; /* no more images in input stream */ + struct pam inpam; /* Input PAM image */ + struct pam outpam; /* Output PAM image */ + + pm_proginit(&argc, argv); + + if (argc-1 != 0) + pm_error("Program takes no arguments. Input is from Standard Input"); + + eof = FALSE; + while (!eof) { + pnm_readpaminit(stdin, &inpam, PAM_STRUCT_SIZE(tuple_type)); + + outpam = inpam; + outpam.file = stdout; + outpam.format = PAM_FORMAT; + + pnm_writepaminit(&outpam); + + { + tuple * tuplerow; + + tuplerow = pnm_allocpamrow(&inpam); + { + unsigned int row; + + for (row = 0; row < inpam.height; ++row) { + pnm_readpamrow(&inpam, tuplerow); + pnm_writepamrow(&outpam, tuplerow); + } + } + pnm_freepamrow(tuplerow); + } + pnm_nextimage(stdin, &eof); + } + + return 0; +} |