~ubuntu-branches/ubuntu/feisty/icoutils/feisty

« back to all changes in this revision

Viewing changes to wrestool/fileread.h

  • Committer: Bazaar Package Importer
  • Author(s): Colin Watson
  • Date: 2005-05-26 15:15:36 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050526151536-uzg8vlhedkx1nwcx
Tags: 0.25.0-1
* New upstream release.
  - 'make distclean' fixed; revert workarounds.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#ifndef __COMMON_FILEREAD_H__
2
 
#define __COMMON_FILEREAD_H__
3
 
 
 
1
/* fileread.h - Offset checking routines for file reading
 
2
 *
 
3
 * Copyright (C) 1998-2005 Oskar Liljeblad
 
4
 *
 
5
 * This program is free software; you can redistribute it and/or modify
 
6
 * it under the terms of the GNU General Public License as published by
 
7
 * the Free Software Foundation; either version 2 of the License, or
 
8
 * (at your option) any later version.
 
9
 *
 
10
 * This program is distributed in the hope that it will be useful,
 
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
13
 * GNU General Public License for more details.
 
14
 *
 
15
 * You should have received a copy of the GNU General Public License
 
16
 * along with this program; if not, write to the Free Software
 
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
 
18
 */
 
19
 
 
20
#ifndef FILEREAD_H
 
21
#define FILEREAD_H
 
22
 
 
23
#include <stdbool.h>            /* POSIX/Gnulib */
4
24
#include "common/common.h"
5
25
 
6
26
#define RETURN_IF_BAD_POINTER(r, x) \
7
 
        if (!check_offset(fi->memory, fi->total_size, fi->name, &(x), sizeof(x))) \
8
 
                return (r);
 
27
        if (!check_offset(fi->memory, fi->total_size, fi->name, &(x), sizeof(x))) { \
 
28
                /*printf("bad_pointer in %s:%d\n", __FILE__, __LINE__);*/ \
 
29
                return (r); \
 
30
        }
9
31
#define RETURN_IF_BAD_OFFSET(r, x, s) \
10
 
        if (!check_offset(fi->memory, fi->total_size, fi->name, x, s)) \
11
 
                return (r);
 
32
        if (!check_offset(fi->memory, fi->total_size, fi->name, x, s)) { \
 
33
                /*printf("bad_offset in %s:%d\n", __FILE__, __LINE__);*/ \
 
34
                return (r); \
 
35
        }
12
36
 
13
37
bool check_offset(char *, int, char *, void *, int);
14
38