source: trunk/gsdl/packages/yaz/odr/ber_null.c@ 1343

Last change on this file since 1343 was 1343, checked in by johnmcp, 24 years ago

Added the YAZ toolkit source to the packages directory (for z39.50 stuff)

  • Property svn:keywords set to Author Date Id Revision
File size: 1.9 KB
Line 
1/*
2 * Copyright (c) 1995-2000, Index Data
3 * See the file LICENSE for details.
4 * Sebastian Hammer, Adam Dickmeiss
5 *
6 * $Log$
7 * Revision 1.1 2000/08/03 03:11:15 johnmcp
8 * Added the YAZ toolkit source to the packages directory (for z39.50 stuff)
9 *
10 * Revision 1.11 2000/02/29 13:44:55 adam
11 * Check for config.h (currently not generated).
12 *
13 * Revision 1.10 2000/01/31 13:15:21 adam
14 * Removed uses of assert(3). Cleanup of ODR. CCL parser update so
15 * that some characters are not surrounded by spaces in resulting term.
16 * ILL-code updates.
17 *
18 * Revision 1.9 1999/11/30 13:47:11 adam
19 * Improved installation. Moved header files to include/yaz.
20 *
21 * Revision 1.8 1995/09/29 17:12:18 quinn
22 * Smallish
23 *
24 * Revision 1.7 1995/09/27 15:02:55 quinn
25 * Modified function heads & prototypes.
26 *
27 * Revision 1.6 1995/05/22 11:32:01 quinn
28 * Fixing Interface to odr_null.
29 *
30 * Revision 1.5 1995/05/16 08:50:46 quinn
31 * License, documentation, and memory fixes
32 *
33 * Revision 1.4 1995/04/18 08:15:16 quinn
34 * Added dynamic memory allocation on encoding (whew). Code is now somewhat
35 * neater. We'll make the same change for decoding one day.
36 *
37 * Revision 1.3 1995/03/08 12:12:09 quinn
38 * Added better error checking.
39 *
40 * Revision 1.2 1995/02/09 15:51:46 quinn
41 * Works better now.
42 *
43 * Revision 1.1 1995/02/02 16:21:52 quinn
44 * First kick.
45 *
46 */
47#if HAVE_CONFIG_H
48#include <config.h>
49#endif
50
51#include <yaz/odr.h>
52
53/*
54 * BER-en/decoder for NULL type.
55 */
56int ber_null(ODR o)
57{
58 switch (o->direction)
59 {
60 case ODR_ENCODE:
61 if (odr_putc(o, 0X00) < 0)
62 return 0;
63#ifdef ODR_DEBUG
64 fprintf(stderr, "[NULL]\n");
65#endif
66 return 1;
67 case ODR_DECODE:
68 if (*(o->bp++) != 0X00)
69 {
70 o->error = OPROTO;
71 return 0;
72 }
73#ifdef ODR_DEBUG
74 fprintf(stderr, "[NULL]\n");
75#endif
76 return 1;
77 case ODR_PRINT: return 1;
78 default: o->error = OOTHER; return 0;
79 }
80}
Note: See TracBrowser for help on using the repository browser.