summaryrefslogtreecommitdiff
path: root/obsolete/support/png2pdf/png2pdfm.ctr
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/support/png2pdf/png2pdfm.ctr')
-rw-r--r--obsolete/support/png2pdf/png2pdfm.ctr579
1 files changed, 0 insertions, 579 deletions
diff --git a/obsolete/support/png2pdf/png2pdfm.ctr b/obsolete/support/png2pdf/png2pdfm.ctr
deleted file mode 100644
index 3bc8d934a6..0000000000
--- a/obsolete/support/png2pdf/png2pdfm.ctr
+++ /dev/null
@@ -1,579 +0,0 @@
-/*
-Copyright (c) 2003-2005, Dirk Krause
-All rights reserved.
-
-Redistribution and use in source and binary forms,
-with or without modification, are permitted provided
-that the following conditions are met:
-
-* Redistributions of source code must retain the above
- copyright notice, this list of conditions and the
- following disclaimer.
-* Redistributions in binary form must reproduce the above
- opyright notice, this list of conditions and the following
- disclaimer in the documentation and/or other materials
- provided with the distribution.
-* Neither the name of the Dirk Krause nor the names of
- its contributors may be used to endorse or promote
- products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
-CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED.
-IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
-OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
-*/
-
-#include <dk.h>
-#include <dksf.h>
-
-#include "png2pdf.h"
-$(trace-include)
-
-
-static int
-isdir DK_P1(char *,fn)
-{
- int back = 0;
- dk_stat_t st;
- $? "+ isdir %s", TR_STR(fn)
- if(dkstat_get(&st, fn)) {
- if((dkstat_filetype(&st) & (~DK_FT_SYMLINK)) == DK_FT_DIR) {
- back = 1;
- }
- }
- $? "- isdir %d", back
- return back;
-}
-
-
-$*
- Check whether we have to run silently or as a filter.
-$*
-static void
-silence_check DK_P4(int,argc,char **,argv,int *,rs,int *,rf)
-{
- char *filename, *ptr, **lfdptr; int i; int fn; int isd;
- $? "+ DK_P4(int,argc,char"
- lfdptr = argv; lfdptr++; i = 1; fn = 0; isd = 0;
- filename = NULL;
- fn = 0;
- while(i < argc) {
- ptr = *lfdptr;
- if(*ptr == '-') {
- ptr++;
- switch(*ptr) {
- case 'p': case 'm': {
- ptr++;
- if(!(*ptr)) {
- lfdptr++; i++;
- }
- } break;
- }
- } else {
- fn++;
- filename = ptr;
- $? ". filename = %s", TR_STR(filename)
- }
- lfdptr++; i++;
- }
- if(fn < 2) { $? ". run as filter"
- if(fn == 1) { $? ". genau ein Dateiname"
- if(filename) { $? ". Dateiname da"
- if(dksf_must_expand_filename(filename)) {
- if(rf) { *rf = 1; } $? ". rf=1 (1)"
- } else { $? ". keine Expansion"
- if(!isdir(filename)) { $? ". kein Verzeichnis"
- if(rf) { *rf = 1; } $? ". rf=1 (2)"
- }
- }
- } else {
- if(rf) { *rf = 1; } $? ". rf=1 (3)"
- }
- } else {
- if(rf) { *rf = 1; } $? ". rf=1 (4)"
- }
- } $? "- silence_check"
-}
-
-
-static int
-run_for_filenames DK_P3(Png2PdfCmd *,c,char *,i,char *,o)
-{
- int back = 0;
- $? "+ run_for_filenames %s %s %s", TR_PTR(c), TR_STR(i), TR_STR(o)
- if(c->a) { $? ". have c->a"
- c->inf = dkapp_fopen(c->a, i, "rb");
- if(c->inf) { $? ". input file opened"
- c->realfilename = dksf_get_last_filename(i);
- if(o) { $? ". have output name"
- c->of = dkapp_fopen(c->a, o, "wb");
- if(c->of) { $? ". output file opened"
- back = png2pdf_for_files(c);
- fclose(c->of); c->of = NULL;
- } else { $? "! failed to open output"
- dkapp_err_fopenw(c->a, o);
- }
- } else { $? ". no output name"
- c->of = stdout;
- dksf_set_file_binary(stdout);
- back = png2pdf_for_files(c);
- c->of = NULL;
- }
- fclose(c->inf); c->inf = NULL;
- c->realfilename = NULL;
- } else { $? "! failed to open input"
- dkapp_err_fopenr(c->a, i);
- }
- } else { $? ". no c->a"
- c->inf = dksf_fopen(i, "rb");
- if(c->inf) { $? ". input file opened"
- if(o) { $? ". have output name"
- c->of = dksf_fopen(o, "wb");
- if(c->of) { $? ". output file opened"
- back = png2pdf_for_files(c);
- fclose(c->of); c->of = NULL;
- } else { $? "! failed to open output"
- }
- } else { $? ". no output name"
- c->of = stdout;
- dksf_set_file_binary(stdout);
- back = png2pdf_for_files(c);
- c->of = NULL;
- }
- fclose(c->inf); c->inf = NULL;
- } else { $? "! failed to open input"
- }
- } $? "- run_for_filenames %d", back
- return back;
-}
-
-
-
-static int
-source_newer DK_P3(Png2PdfCmd *,c,char *,src,char *,dst)
-{
- int back = 0;
- dk_stat_t st1, st2;
- char *c1, *c2;
- int ft;
- $? "+ source_newer %s %s %s", TR_PTR(c), TR_STR(src), TR_STR(dst)
- if(dkstat_get(&st1, src)) { $? ". stat ok for input"
- back = 1;
- if(dkstat_get(&st2, dst)) { $? ". stat ok for output"
- ft = dkstat_filetype(&st2);
- if((ft & (~DK_FT_SYMLINK)) == DK_FT_REG) {
- c1 = dkstat_mtime(&st1);
- c2 = dkstat_mtime(&st2); $? ". output is regular file"
- $? ". timestamps src=%s dst=%s", c1, c2
- if(strcmp(c1,c2) > 0) {
- back = 1;
- } else {
- back = 0;
- }
- } else { $? "! destination not a regular file"
- back = 0;
- /* ##### ERROR: destination no regular file */
- }
- } else { $? "! stat failed for output file"
- }
- } else { $? "! stat failed for input file"
- } $? "- source_newer %d", back
- return back;
-}
-
-
-
-static int
-is_png DK_P1(char *,n)
-{
- int back = 0;
- char *suffix;
- $? "+ is_png %s", TR_STR(n)
- suffix = dksf_get_file_type_dot(n);
- if(suffix) { $? ". suffix found"
-#if DK_HAVE_FNCASEINS
- if(dkstr_casecmp(suffix, ".png") == 0) {
- $? ". is png file (1)"
- back = 1;
- }
-#else
- if(strcmp(suffix, ".png") == 0) {
- $? ". is png file (2)"
- back = 1;
- }
-#endif
- } $? "- is_png %d", back
- return back;
-}
-
-
-static int
-run_for_directory DK_P1(Png2PdfCmd *,c)
-{
- int back = 0;
- int ft;
- char *ofbuffer, *in, *ins, *suffix;
- unsigned long mpl;
- dk_dir_t *dirptr;
- mpl = dksf_get_maxpathlen();
- ofbuffer = dk_new(char,mpl);
- if(ofbuffer) { $? ". output name buffer ok"
- dirptr = dkdir_open(c->inputfilename);
- if(dirptr) { $? ". directory opened"
- back = 1;
- while(dkdir_next(dirptr)) { $? ". have dir entry"
- in = dkdir_get_fullname(dirptr);
- if(in) { $? ". dir entry name = \"%s\"", in
- ins = dkdir_get_shortname(dirptr);
- if(ins) { $? ". short name = \"%s\"", ins
- if(strcmp(ins, ".") && strcmp(ins, "..")) {
- ft = dkdir_filetype(dirptr); $? ". not . or .."
- if((ft & (~DK_FT_SYMLINK)) == DK_FT_REG) { $? ". regular file"
- if(is_png(in)) { $? ". PNG file"
- /*
- + 3 because in worst case we have to replace
- filename. by filename.pdf
- */
- if((strlen(in) + 3) < mpl) { $? ". file name length ok"
- strcpy(ofbuffer, in);
- suffix = dksf_get_file_type_dot(ofbuffer);
- if(suffix) { $? ". suffix found"
- strcpy(suffix, ".pdf");
- ft = 1;
- if((c->options) & PNG2PDF_OPT_MAKE) {
- $? ". timestamp check necessary"
- ft = source_newer(c, in, ofbuffer);
- }
- if(ft) { $? ". must run"
- if((c->a) && (c->msgptr)) {
- char *msgptr[3];
- msgptr[0] = (c->msgptr)[12];
- msgptr[1] = in;
- msgptr[2] = (c->msgptr)[13];
- dkapp_log_msg(c->a, DK_LOG_LEVEL_PROGRESS, msgptr, 3);
- }
- if(!run_for_filenames(c, in, ofbuffer)) {
- back = 0;
- }
- }
- } else { $? ". no suffix in file name"
- back = 0;
- /* no suffix in file name, already tested in is_png() */
- }
- } else { $? "! file name too long"
- /* File name too long, should not happen */
- back = 0;
- if((c->a) && (c->msgptr)) {
- char *msgptr[3];
- msgptr[0] = (c->msgptr)[25];
- msgptr[1] = in;
- msgptr[2] = (c->msgptr)[26];
- dkapp_log_msg(c->a, DK_LOG_LEVEL_ERROR, msgptr, 3);
- }
- }
- }
- }
- }
- } else {
- back = 0;
- /* no short filename for entry */
- if((c->a) && (c->msgptr)) {
- dkapp_log_msg(c->a, DK_LOG_LEVEL_ERROR, &((c->msgptr)[24]), 1);
- }
- }
- } else {
- back = 0;
- /* no filename for entry */
- if((c->a) && (c->msgptr)) {
- dkapp_log_msg(c->a, DK_LOG_LEVEL_ERROR, &((c->msgptr)[24]), 1);
- }
- }
- }
- dkdir_close(dirptr);
- } else { $? "! failed to open directory"
- if(c->a) { dkapp_err_traverse_dir(c->a, c->inputfilename); }
- }
- dk_delete(ofbuffer);
- } else { $? "! failed to allocate memory for output name buffer"
- if(c->a) { dkapp_err_memory(c->a, 1, mpl); }
- }
- return back;
-}
-
-
-
-static int
-run_for_output_name DK_P3(Png2PdfCmd *,c,char *,i,char *,o)
-{
- int back = 0;
- $? "+ run_for_output_name %s %s %s", TR_PTR(c), TR_STR(i), TR_STR(o)
- if(dksf_must_expand_filename(i)) {
- dk_fne_t *ifne; char *in; $? ". must expand filename"
- ifne = dkfne_open(i, 1, 0);
- if(ifne) { $? ". file name expander ok"
- if(c->a) { $? ". c->a available"
- in = dkapp_fne_one(c->a, ifne, i);
- if(in) { $? ". pattern ok"
- back = run_for_filenames(c, in, o);
- dk_delete(in);
- } else { $? "! no such file or multiple files"
- }
- } else { $? ". c->a not available"
- if(dkfne_next(ifne)) { $? ". next file name ok"
- in = dkfne_get_fullname(ifne);
- if(in) {
- back = run_for_filenames(c, in, o);
- }
- if(dkfne_next(ifne)) { $? "! multiple files"
- /* ERROR: Pattern not unique */
- }
- } else { $? "! no such file name"
- /* ERROR: No such file name */
- }
- }
- dkfne_close(ifne);
- } else { $? "! failed to create file name expander"
- if(c->a) { dkapp_err_memory(c->a, sizeof(dk_fne_t), 1); }
- }
- } else { $? ". not necessary to expand file name"
- back = run_for_filenames(c, i, o);
- } $? "- run_for_output_name %d", back
- return back;
-}
-
-
-static int
-run_normally DK_P1(Png2PdfCmd *,c)
-{
- int back = 0;
- $? "+ run_normally %s", TR_PTR(c)
- if(c->inputfilename) { $? ". have input filename"
- if(c->outputfilename) { $? ". have output file name"
- if(dksf_must_expand_filename(c->outputfilename)) {
- dk_fne_t *ofne; char *on; $? ". must expand output file name"
- ofne = dkfne_open(c->outputfilename, 1, 0);
- if(ofne) { $? ". expander created"
- if(c->a) { $? ". c->a ok"
- on = dkapp_fne_one(c->a, ofne, c->outputfilename);
- if(on) { $? ". file name found"
- back = run_for_output_name(c, c->inputfilename, on);
- dk_delete(on);
- } else { $? "! problem with file name pattern"
- }
- } else { $? ". no c->a"
- if(dkfne_next(ofne)) {
- on = dkfne_get_fullname(ofne);
- if(on) {
- back = run_for_output_name(c, c->inputfilename, on);
- }
- } else { $? "! no such file"
- /* ERROR: No such file */
- }
- }
- dkfne_close(ofne);
- } else { $? "! failed to create output name expander"
- if(c->a) { dkapp_err_memory(c->a, sizeof(dk_fne_t), 1); }
- }
- } else { $? ". no need to expand output file name"
- back = run_for_output_name(c, c->inputfilename, c->outputfilename);
- }
- } else { $? ". no output file name specified"
- if(dksf_must_expand_filename(c->inputfilename)) {
- $? ". input name contains wildcards"
- back = run_for_output_name(c, c->inputfilename, NULL);
- } else { $? ". no wildcards in input name"
- if(isdir(c->inputfilename)) {
- $? ". input is directory"
- back = run_for_directory(c);
- } else {
- $? ". input is file"
- back = run_for_output_name(c, c->inputfilename, NULL);
- }
- }
- }
- } else { $? ". run for standard input / standard output"
- c->inf = stdin;
- c->of = stdout;
- dksf_set_file_binary(stdin);
- dksf_set_file_binary(stdout);
- back = png2pdf_for_files(c);
- c->inf = NULL; c->of = NULL;
- } $? "- run_normally %d", back
- return back;
-}
-
-
-#ifndef VERSNUMB
-#define VERSNUMB "developer"
-#endif
-static char versno[] = { VERSNUMB };
-
-
-
-static char *help_text[] = {
-"png2pdf [ <options> ] [ <inputfile> [ <outputfile> ] ]",
-"",
-"Options:",
-"-p PDF-level PDF-level: 1.2, 1.3 or 1.4",
-"-m r,g,b default background color (used if there is no background chunk)",
-"-s always use default background color from -m option",
-"-i create image mask",
-"-a write transparency data",
-"-b fill background before rendering image",
-"-f file time check when running on directory",
-"",
-"Permanent options handling:",
-"png2pdf -c <options> configures permanent options",
-"png2pdf -u removes all permanent options",
-"png2pdf -C shows the permanent options",
-"png2pdf -r <options> ... temporarily overrides permanent options",
-"",
-"Help and version information:",
-"png2pdf -h shows this help text",
-"png2pdf -v shows version information",
-"",
- NULL
-};
-
-
-
-static char *license_terms[] = {
-"Redistribution and use in source and binary forms, with or without",
-"modification, are permitted provided that the following conditions are met:",
-"* Redistributions of source code must retain the above copyright notice, this",
-" list of conditions and the following disclaimer.",
-"* Redistributions in binary form must reproduce the above copyright notice,",
-" this list of conditions and the following disclaimer in the documentation",
-" and/or other materials provided with the distribution.",
-"* Neither the name of the Dirk Krause nor the names of other contributors may",
-" be used to endorse or promote products derived from this software without",
-" specific prior written permission.",
-"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"",
-"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE",
-"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE",
-"ARE DISCLAIMED.",
-"IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY",
-"DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES",
-"(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;",
-"LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND",
-"ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT",
-"(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS",
-"SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
-NULL
-};
-
-
-
-static int
-run DK_P3(dk_app_t *,a,int,xargc,char **,xargv)
-{
- int back = 0;
- Png2PdfCmd c;
- $? "+ run %s %d %s", TR_PTR(a), xargc, TR_PTR(xargv)
- if(png2pdf_initialize_cmd(&c, a)) {
- back = 1;
- png2pdf_process_args(&c, xargc, xargv);
- if(c.error_code) { c.cmd |= PNG2PDF_CMD_HELP; back = 0; }
- if(c.cmd) {
- if(c.cmd & (PNG2PDF_CMD_HELP | PNG2PDF_CMD_VERSION)) {
- char **ptr;
- fputc('\n', stdout);
- fputs("png2pdf, version ", stdout);
- fputs(versno, stdout);
- fputc('\n', stdout);
- fputs("Copyright (C) 2003-2005 Dipl.-Ing. D. Krause\n",
- stdout);
- fputs("http://png2pdf.sourceforge.net\n",
- stdout);
- ptr = license_terms;
- while(*ptr) {
- fputs(*(ptr++), stdout);
- fputc('\n', stdout);
- }
- fputs("\nLibraries used:\n\n",
- stdout);
- fputs("libpng\tthe official PNG reference library\n",
- stdout);
- fputs("zlib\tgeneral compression library\n",
- stdout);
- fputs("dklibs\tportability layer and general purpose library\n",
- stdout);
- fputc('\n', stdout);
- if(c.cmd & PNG2PDF_CMD_HELP) {
- /* ##### print help */
- dkapp_help(a, "png2pdf.txt", help_text);
- }
- } else {
- if(c.cmd & PNG2PDF_CMD_UNCONFIGURE) {
- png2pdf_reset_cmd(&c);
- dkapp_unconfigure(a);
- }
- if(c.cmd & PNG2PDF_CMD_CONFIGURE) {
- png2pdf_save_configuration(&c);
- }
- png2pdf_print_configuration(&c);
- }
- } else { $? ". run normally"
- back = run_normally(&c);
- }
- png2pdf_uninitialize_cmd(&c);
- }
- $? "- run %d", back
- return back;
-}
-
-#ifndef SYSCONFDIR
-#define SYSCONFDIR "/etc"
-#endif
-static char sysconfdir[] = { SYSCONFDIR };
-static char packagename[] = { "png2pdf" };
-
-#if DK_HAVE_PROTOTYPES
-int main(int argc, char *argv[])
-#else
-int main(argc,argv) int argc; char *argv[];
-#endif
-{
- int exval = 0, rs = 0, rf = 0;
- int xargc; char **xargv;
- dk_app_t *app;
- $(trace-init png2pdf.deb)
- $? "+ main"
- silence_check(argc,argv,&rs,&rf); $? ". rs=%d rf=%d", rs, rf
- if(!rs) { rs = dkapp_silence_check(argc,argv); }
- app = dkapp_open_ext1(argc, argv, packagename, sysconfdir, rs, rf);
- if(app) {
- xargc = dkapp_get_argc(app);
- xargv = dkapp_get_argv(app);
- exval = run(app, xargc, xargv);
- dkapp_close(app); app = NULL;
- } else {
- if(!rs) {
- fputs("ERROR: Not enough memory!\n", stderr);
- fflush(stderr);
- }
- }
- exval = (exval ? 0 : 1);
- $? "- main %d", exval
- $(trace-end)
- exit(exval); return exval;
-}
-
-#ifndef LINT
-static char sccs_id[] = {
-"@(#)png2pdfm.ctr 1.24 07/18/06 (krause)\tPNG to PDF converter"
-};
-#endif
-