source: main/branches/64_bit_Greenstone/greenstone2/common-src/indexers/mg/lib/huffman_stdio.c@ 23508

Last change on this file since 23508 was 23508, checked in by sjm84, 13 years ago

Committing 64 bit changes into the branch

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
Line 
1/**************************************************************************
2 *
3 * huffman_stdio.c -- Huffman coding function to a file
4 * Copyright (C) 1994 Neil Sharman
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program 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
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 *
20 **************************************************************************/
21
22#include "sysfuncs.h"
23
24#include "bitio_m.h"
25#include "bitio_m_stdio.h"
26#include "huffman.h"
27
28#if 0
29int fprintf (FILE *, const char *,...);
30int _filbuf (FILE *);
31int _flsbuf (unsigned, FILE *);
32#endif
33
34void
35BIO_Stdio_Huff_Encode (mg_u_long val, mg_u_long *codes,
36 char *clens, stdio_bitio_state * bs)
37{
38 ENCODE_CONTINUE (*bs)
39 HUFF_ENCODE (val, codes, clens);
40 ENCODE_PAUSE (*bs)
41}
42
43mg_u_long
44BIO_Stdio_Huff_Decode (mg_u_long *mincodes,
45 mg_u_long **values,
46 stdio_bitio_state * bs)
47{
48 mg_u_long val;
49 DECODE_CONTINUE (*bs)
50 HUFF_DECODE (val, mincodes, values);
51 DECODE_PAUSE (*bs)
52 return (val);
53}
Note: See TracBrowser for help on using the repository browser.