~ubuntu-branches/ubuntu/raring/xblast-tnt-models/raring

« back to all changes in this revision

Viewing changes to debian/sprites/epmtools/pgmtoepm.c

  • Committer: Bazaar Package Importer
  • Author(s): Gerfried Fuchs
  • Date: 2009-02-06 09:51:25 UTC
  • Revision ID: james.westby@ubuntu.com-20090206095125-hk5bmd538fdyr5yc
Tags: 20050106-3
* Make use of the http://sf.net/$project/ hack in debian/watch instead of
  chosing a mirror on our own.
* Added Homepage source control field.
* Bumped Standards-Version to 3.8.0, no changes needed.
* Added rendering-sources of some models where the author doesn't accept the
  xblast team reasoning to accept the rendered images as accepted form for
  modifications. The images originally were submitted without sources,
  thanks to Bernhard R. Link for being able to offer the sources
  (closes: #512284). Urgency high as this is a RC fix targetted at lenny.
* Added copyright informations to copyright file for above mentioned models
  to clear things up.
* Fixed copyright information with respect to GPLv2 or later.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * program pgmtoepm - convert any number of Portable GrayMap to 
 
3
 *                    Extented Pixmap Format epm
 
4
 *
 
5
 * (C) by Oliver Vogel (e-mail: vogel@ikp.uni-koeln.de)
 
6
 * April 5th, 1997
 
7
 *
 
8
 * This program is free software; you can redistribute it and/or modify
 
9
 * it under the terms of the GNU General Public Licence as by published
 
10
 * by the Free Software Foundation; either version 2; or (at your option)
 
11
 * any later version
 
12
 *
 
13
 * This program is distributed in the hope that it will entertaining,
 
14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
15
 * MERCHANTABILTY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
 
16
 * Public License for more details.
 
17
 *
 
18
 * $Id: pgmtoepm.c,v 1.1 1999/04/04 11:48:24 xblast Exp $
 
19
 * $Log: pgmtoepm.c,v $
 
20
 * Revision 1.1  1999/04/04 11:48:24  xblast
 
21
 * Initial revision
 
22
 *
 
23
 */
 
24
 
 
25
#include <stdio.h>
 
26
#include <stdlib.h>
 
27
 
 
28
#ifdef __STDC__
 
29
int 
 
30
main (int argc, 
 
31
      char*argv[])
 
32
#else
 
33
int
 
34
main (argc, argv)
 
35
  int argc;
 
36
  char *argv[];
 
37
#endif
 
38
{
 
39
  static char magic[256];
 
40
  int width, height, maxval;
 
41
  int d_width, d_height, d_maxval;
 
42
  int i, n_data;
 
43
  FILE *fp;
 
44
  char dummy;
 
45
  char *buf;
 
46
 
 
47
  /* check command line args */
 
48
  if (argc <= 1) {
 
49
    fprintf(stderr, "usage: %s pgmfile [...]\n", argv[0]);
 
50
    return 1;
 
51
  }
 
52
 
 
53
  for (i=1; i<argc; i++) {
 
54
    /* open first pgm file */
 
55
    if (NULL == (fp = fopen(argv[i],"r") ) ) {
 
56
      fprintf(stderr, "%s: failed to open file \"%s\"\n", argv[0], argv[i]);
 
57
      return 1;
 
58
    }
 
59
    /* read header */
 
60
    fscanf(fp, "%s %d %d %d%c", magic, &width, &height, &maxval, &dummy);
 
61
    /* compare magic word */
 
62
    if (0 != strcmp("P5",magic)) {
 
63
      fprintf(stderr, "%s: wrong magic word in file \"%s\"\n", argv[0], argv[i]);
 
64
      return 1;
 
65
    }
 
66
    if (i==1) {
 
67
      /* set default values */
 
68
      d_height = height;
 
69
      d_width  = width;
 
70
      d_maxval = maxval;
 
71
      n_data   = d_width * d_height;
 
72
      /* alloc data buffer */
 
73
      if (NULL == (buf = malloc(n_data*sizeof(char) ) ) ) {
 
74
        fprintf(stderr, "%s: failed to alloc data buffer\n", argv[0]);
 
75
        return 1;
 
76
      }
 
77
      /* write header */
 
78
      printf("PX\n");
 
79
      printf("%d %d %d %d\n", d_width, d_height, d_maxval, argc-1);
 
80
    } else {
 
81
      /* compare with default values */
 
82
      if ( (d_height != height) || (d_width != width) || (d_maxval != maxval) ) {
 
83
        fprintf(stderr, "%s: wrong image dimensions for file \"%s\"\n", 
 
84
                argv[0], argv[i]);
 
85
        return 1;
 
86
      }
 
87
    }
 
88
    /* copy data */
 
89
    if (n_data != fread(buf, sizeof(char), n_data, fp) ) {
 
90
      fprintf(stderr, "%s: premature end of file \"%s\"\n", argv[0], argv[1]);
 
91
      return 1;
 
92
    }
 
93
    fwrite (buf, sizeof(char), n_data, stdout);
 
94
  }
 
95
 
 
96
  return 0;
 
97
}