~ubuntu-branches/ubuntu/lucid/libexif/lucid

« back to all changes in this revision

Viewing changes to test/test-integers.c

  • Committer: Bazaar Package Importer
  • Author(s): Emmanuel Bouthenot
  • Date: 2009-04-19 17:53:15 UTC
  • mfrom: (6.1.1 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090419175315-5aiwj7jbm26srabc
Tags: 0.6.17-1
* Adopt the package within pkg-phototools:
  - Set the Maintainer to the group
  - Add Frederic Peters and myself as Uploaders.
  - Add Vcs-Browser and Vcs-Git fields accordingly.
* New upstream release:
  - remove patches merged upsteam:
    + 30_olympus_makernote.dpatch
    + 40_crash_looking_up_invalid_values.dpatch
    + 50_relibtoolize.dpatch
    + CVE-2007-6351.dpatch
    + CVE-2007-6352.dpatch
  - convert existing patches from dpatch to quilt.
  - Fix a bug while reading exif datas in some cases (Closes: #447907)
* Switch packaging to debhelper 7
* Update debian/control:
  - Drop duplicate section field for exif12
  - Bump Standards-Version to 3.8.1
  - Replace deprecated ${Source-Version} by ${binary:Version}
  - Enhance libexif-dev long description.
  - Add homepage field.
  - Add DM-Upload-Allowed field.
* Force remove of files not fully cleaned
* Remove empty doc files in libexif-dev.
* Update debian/copyright.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/** \file test-integers.c
 
2
 * \brief Check assumptions about integer types (sizes, ranges).
 
3
 *
 
4
 * Copyright (C) 2007 Hans Ulrich Niedermann <gp@n-dimensional.de>
 
5
 *
 
6
 * This library is free software; you can redistribute it and/or
 
7
 * modify it under the terms of the GNU Lesser General Public
 
8
 * License as published by the Free Software Foundation; either
 
9
 * version 2 of the License, or (at your option) any later version.
 
10
 *
 
11
 * This library is distributed in the hope that it will be useful, 
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of 
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
14
 * Lesser General Public License for more details. 
 
15
 *
 
16
 * You should have received a copy of the GNU Lesser General Public
 
17
 * License along with this library; if not, write to the
 
18
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
19
 * Boston, MA 02111-1307, USA.
 
20
 */
 
21
 
 
22
 
1
23
#include "libexif/_stdint.h"
 
24
#include <stdlib.h>
 
25
#include <stdio.h>
 
26
 
 
27
 
 
28
typedef enum {
 
29
   EN_A,
 
30
   EN_B,
 
31
   EN_C,
 
32
   EN_D,
 
33
   EN_E,
 
34
   EN_F
 
35
} enum_t;
 
36
 
 
37
 
 
38
#if defined(__GNUC__) && (__GNUC__ >= 4)
 
39
# define CHECK(condition)                                            \
 
40
        if (!(condition)) {                                          \
 
41
                fprintf(stderr, "%s:%d: check failed: %s\n",         \
 
42
                        __FILE__, __LINE__, #condition);             \
 
43
                errors++;                                            \
 
44
        }
 
45
#else
 
46
# define CHECK(condition)                                            \
 
47
        if (!(condition)) {                                          \
 
48
                abort();                                             \
 
49
        }
 
50
#endif
 
51
 
2
52
 
3
53
int main()
4
54
{
5
 
  /* libexif assumes that in very many places */
6
 
  if (sizeof(unsigned int) < sizeof(uint32_t)) {
7
 
    return 1;
8
 
  }
9
 
  return 0;
 
55
  unsigned int errors = 0;
 
56
 
 
57
  /* libexif assumes unsigned ints are not smaller than 32bit in many places */
 
58
  CHECK(sizeof(unsigned int) >= sizeof(uint32_t));
 
59
 
 
60
  /* libexif assumes that enums fit into ints */
 
61
  CHECK(sizeof(enum_t) <= sizeof(int));
 
62
  
 
63
  return (errors>0)?1:0;
10
64
}