c79b29a28fb387d0bea1ed6024240c7785abe4f1
[pspp-builds.git] / src / data / dict-class.c
1 /* PSPP - a program for statistical analysis.
2    Copyright (C) 2007 Free Software Foundation, Inc.
3
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 3 of the License, or
7    (at your option) any later version.
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
11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12    GNU General Public License for more details.
13
14    You should have received a copy of the GNU General Public License
15    along with this program.  If not, see <http://www.gnu.org/licenses/>. */
16
17 #include <config.h>
18
19 #include <data/dict-class.h>
20
21 #include <libpspp/assertion.h>
22
23 #include "gettext.h"
24 #define _(msgid) gettext (msgid)
25
26 /* Returns the dictionary class corresponding to a variable named
27    NAME. */
28 enum dict_class
29 dict_class_from_id (const char *name)
30 {
31   switch (name[0])
32     {
33     default:
34       return DC_ORDINARY;
35     case '$':
36       return DC_SYSTEM;
37     case '#':
38       return DC_SCRATCH;
39     }
40 }
41
42 /* Returns the name of dictionary class DICT_CLASS.
43
44    This function should probably not be used in new code as it
45    can lead to difficulties for internationalization. */
46 const char *
47 dict_class_to_name (enum dict_class dict_class)
48 {
49   switch (dict_class)
50     {
51     case DC_ORDINARY:
52       return _("ordinary");
53     case DC_SYSTEM:
54       return _("system");
55     case DC_SCRATCH:
56       return _("scratch");
57     default:
58       NOT_REACHED ();
59     }
60 }