diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2015-05-24 16:37:23 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2015-05-24 16:37:23 +0000 |
commit | de87c6e86a9639fb0558a20d7d92134017e97965 (patch) | |
tree | 72717534dd62a25758b70250fd811274ec6aa725 /converter/ppm/ppmtoyuvsplit.c | |
parent | 55f66bca6c5221859ee2f5a1c68beaa94ec3025f (diff) | |
download | netpbm-mirror-de87c6e86a9639fb0558a20d7d92134017e97965.tar.gz netpbm-mirror-de87c6e86a9639fb0558a20d7d92134017e97965.tar.xz netpbm-mirror-de87c6e86a9639fb0558a20d7d92134017e97965.zip |
Release 10.47.56
git-svn-id: http://svn.code.sf.net/p/netpbm/code/stable@2521 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'converter/ppm/ppmtoyuvsplit.c')
-rw-r--r-- | converter/ppm/ppmtoyuvsplit.c | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/converter/ppm/ppmtoyuvsplit.c b/converter/ppm/ppmtoyuvsplit.c index e4ffaa3a..eb89ad29 100644 --- a/converter/ppm/ppmtoyuvsplit.c +++ b/converter/ppm/ppmtoyuvsplit.c @@ -29,8 +29,40 @@ #endif #include <string.h> +#include "nstring.h" #include "ppm.h" + + +struct FileNameSet { + const char * u; + const char * v; + const char * y; +}; + + + +static void +makeOutputFileName(const char * const baseName, + struct FileNameSet * const fnameP) { + + pm_asprintf(&fnameP->u, "%s.U", baseName); + pm_asprintf(&fnameP->v, "%s.V", baseName); + pm_asprintf(&fnameP->y, "%s.Y", baseName); +} + + + +static void +termFileNameSet(struct FileNameSet const fname) { + + pm_strfree(fname.u); + pm_strfree(fname.v); + pm_strfree(fname.y); +} + + + int main(int argc, const char ** argv) { @@ -42,7 +74,8 @@ main(int argc, const char ** argv) { unsigned int row; pixval maxval; unsigned char *y1buf, *y2buf, *ubuf, *vbuf; - char ufname[256], vfname[256], yfname[256]; + struct FileNameSet fname; + /* Output file names - .U, .V, .Y */ pm_proginit(&argc, argv); @@ -56,17 +89,13 @@ main(int argc, const char ** argv) { else ifP = stdin; - strcpy(ufname,argv[1]); - strcpy(vfname,argv[1]); - strcpy(yfname,argv[1]); + makeOutputFileName(argv[1], &fname); - strcat(ufname,".U"); - strcat(vfname,".V"); - strcat(yfname,".Y"); + uf = pm_openw(fname.u); + vf = pm_openw(fname.v); + yf = pm_openw(fname.y); - uf = pm_openw(ufname); - vf = pm_openw(vfname); - yf = pm_openw(yfname); + termFileNameSet(fname); ppm_readppminit(ifP, &cols, &rows, &maxval, &format); |