home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / netpbma.zip / pbm / pbmmerge.c < prev    next >
C/C++ Source or Header  |  1993-11-03  |  3KB  |  87 lines

  1. /* pbmmerge.c - wrapper program for PBM
  2. **
  3. ** Copyright (C) 1991 by Jef Poskanzer.
  4. **
  5. ** Permission to use, copy, modify, and distribute this software and its
  6. ** documentation for any purpose and without fee is hereby granted, provided
  7. ** that the above copyright notice appear in all copies and that both that
  8. ** copyright notice and this permission notice appear in supporting
  9. ** documentation.  This software is provided "as is" without express or
  10. ** implied warranty.
  11. */
  12.  
  13. #include <stdio.h>
  14. #include "pbm.h"
  15.  
  16. int
  17. main( argc, argv )
  18.     int argc;
  19.     char* argv[];
  20.     {
  21.     register char* cp;
  22.  
  23. again:
  24.     if ( ( cp = rindex( argv[0], '/' ) ) != (char*) 0 )
  25.     ++cp;
  26.     else
  27.     cp = argv[0];
  28.     if ( strcmp( cp, "pbmmerge" ) == 0 )
  29.     {
  30.     ++argv;
  31.     --argc;
  32.     goto again;
  33.     }
  34.  
  35. #define TRY(s,m) { if ( strcmp( cp, s ) == 0 ) exit( m( argc, argv ) ); }
  36.  
  37.     TRY( "atktopbm", atktopbm_main );
  38.     TRY( "brushtopbm", brushtopbm_main );
  39.     TRY( "cmuwmtopbm", cmuwmtopbm_main );
  40.     TRY( "g3topbm", g3topbm_main );
  41.     TRY( "icontopbm", icontopbm_main );
  42.     TRY( "gemtopbm", gemtopbm_main );
  43.     TRY( "macptopbm", macptopbm_main );
  44.     TRY( "mgrtopbm", mgrtopbm_main );
  45.     TRY( "pbmclean", pbmclean_main );
  46.     TRY( "pbmlife", pbmlife_main );
  47.     TRY( "pbmmake", pbmmake_main );
  48.     TRY( "pbmmask", pbmmask_main );
  49.     TRY( "pbmpscale", pbmpscale_main );
  50.     TRY( "pbmreduce", pbmreduce_main );
  51.     TRY( "pbmtext", pbmtext_main );
  52.     TRY( "pbmto10x", pbmto10x_main );
  53.     TRY( "pbmto4425", pbmto4425_main );
  54.     TRY( "pbmtoascii", pbmtoascii_main );
  55.     TRY( "pbmtoatk", pbmtoatk_main );
  56.     TRY( "pbmtobbnbg", pbmtobbnbg_main );
  57.     TRY( "pbmtocmuwm", pbmtocmuwm_main );
  58.     TRY( "pbmtoepsi", pbmtoepsi_main );
  59.     TRY( "pbmtoepson", pbmtoepson_main );
  60.     TRY( "pbmtog3", pbmtog3_main );
  61.     TRY( "pbmtogem", pbmtogem_main );
  62.     TRY( "pbmtogo", pbmtogo_main );
  63.     TRY( "pbmtoicon", pbmtoicon_main );
  64.     TRY( "pbmtolj", pbmtolj_main );
  65.     TRY( "pbmtoln03", pbmtoln03_main );
  66.     TRY( "pbmtolps", pbmtolps_main );
  67.     TRY( "pbmtomacp", pbmtomacp_main );
  68.     TRY( "pbmtomgr", pbmtomgr_main );
  69.     TRY( "pbmtopi3", pbmtopi3_main );
  70.     TRY( "pbmtopk", pbmtopk_main );
  71.     TRY( "pbmtoplot", pbmtoplot_main );
  72.     TRY( "pbmtoptx", pbmtoptx_main );
  73.     TRY( "pbmtox10bm", pbmtox10bm_main );
  74.     TRY( "pbmtoxbm", pbmtoxbm_main );
  75.     TRY( "pbmtoybm", pbmtoybm_main );
  76.     TRY( "pbmtozinc", pbmtozinc_main );
  77.     TRY( "pbmupc", pbmupc_main );
  78.     TRY( "pi3topbm", pi3topbm_main );
  79.     TRY( "pktopbm", pktopbm_main );
  80.     TRY( "xbmtopbm", xbmtopbm_main );
  81.     TRY( "ybmtopbm", ybmtopbm_main );
  82.  
  83.     (void) fprintf(
  84.     stderr, "pbmmerge: \"%s\" is an unknown PBM program!\n", cp );
  85.     exit( 1 );
  86.     }
  87.