source: git/src/useful.c @ f175de2

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

src/datain.h,src/useful.c: Use getc_unlocked() if available.

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

  • Property mode set to 100644
File size: 1.6 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
[19f2b4f]26#ifdef HAVE_GETC_UNLOCKED
27# define GETC(F) getc_unlocked(F)
28#else
29# define GETC(F) getc(F)
30#endif
31
[5dd874a]32#ifdef WORDS_BIGENDIAN
[d1b1380]33
[9965b2b]34extern void
[8c45eea]35useful_put16(int16_t w, FILE *fh)
[a420b49]36{
37   putc((char)(w), fh);
38   putc((char)(w >> 8l), fh);
[d1b1380]39}
40
[9965b2b]41extern void
[8c45eea]42useful_put32(int32_t w, FILE *fh)
[a420b49]43{
44   putc((char)(w), fh);
45   putc((char)(w >> 8l), fh);
46   putc((char)(w >> 16l), fh);
47   putc((char)(w >> 24l), fh);
[d1b1380]48}
49
[9965b2b]50extern int16_t
[a420b49]51useful_get16(FILE *fh)
52{
[8c45eea]53   int16_t w;
[19f2b4f]54   w = GETC(fh);
55   w |= (int16_t)(GETC(fh) << 8l);
[d1b1380]56   return w;
57}
58
[9965b2b]59extern int32_t
[a420b49]60useful_get32(FILE *fh)
61{
[8c45eea]62   int32_t w;
[19f2b4f]63   w = GETC(fh);
64   w |= (int32_t)(GETC(fh) << 8l);
65   w |= (int32_t)(GETC(fh) << 16l);
66   w |= (int32_t)(GETC(fh) << 24l);
[d1b1380]67   return w;
68}
69#endif
Note: See TracBrowser for help on using the repository browser.