source: git/src/useful.c @ 5dd874a

RELEASE/1.2debug-cidebug-ci-sanitisersstereowalls-datawalls-data-hanging-as-warning
Last change on this file since 5dd874a was 5dd874a, checked in by Olly Betts <olly@…>, 14 years ago

configure.in,src/useful.h: On little-endian architectures, make
get16() and get32() inline functions, rather than macros which use
a global variable.

git-svn-id: file:///home/survex-svn/survex/trunk@3501 4b37db11-9a0c-4f06-9ece-9ab7cdaee568

  • Property mode set to 100644
File size: 1.5 KB
RevLine 
[421b7d2]1/* useful.c
[7e5d688]2 * Copyright (C) 1993-2001,2003,2010 Olly Betts
[846746e]3 *
[89231c4]4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
[846746e]8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
[89231c4]11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 * GNU General Public License for more details.
[846746e]13 *
[89231c4]14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
[ecbc6c18]16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
[d1b1380]17 */
18
[a420b49]19#ifdef HAVE_CONFIG_H
20# include <config.h>
21#endif
[d1b1380]22
23#include "useful.h"
24#include "osdepend.h"
25
[5dd874a]26#ifdef WORDS_BIGENDIAN
[d1b1380]27
[64d37a3]28extern void Far
[8c45eea]29useful_put16(int16_t w, FILE *fh)
[a420b49]30{
31   putc((char)(w), fh);
32   putc((char)(w >> 8l), fh);
[d1b1380]33}
34
[64d37a3]35extern void Far
[8c45eea]36useful_put32(int32_t w, FILE *fh)
[a420b49]37{
38   putc((char)(w), fh);
39   putc((char)(w >> 8l), fh);
40   putc((char)(w >> 16l), fh);
41   putc((char)(w >> 24l), fh);
[d1b1380]42}
43
[8c45eea]44extern int16_t Far
[a420b49]45useful_get16(FILE *fh)
46{
[8c45eea]47   int16_t w;
[a420b49]48   w = getc(fh);
[8c45eea]49   w |= (int16_t)(getc(fh) << 8l);
[d1b1380]50   return w;
51}
52
[8c45eea]53extern int32_t Far
[a420b49]54useful_get32(FILE *fh)
55{
[8c45eea]56   int32_t w;
[a420b49]57   w = getc(fh);
[8c45eea]58   w |= (int32_t)(getc(fh) << 8l);
59   w |= (int32_t)(getc(fh) << 16l);
60   w |= (int32_t)(getc(fh) << 24l);
[d1b1380]61   return w;
62}
63#endif
Note: See TracBrowser for help on using the repository browser.