annotate src/variables.h @ 15063:36cbcc37fdb8

Refactor configure.ac to make it more understandable. Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests. * configure.ac, m4/acinclude.m4: Use common syntax for messages in config.h Correct typos, refer to libraries in all caps, use two spaces after period. Follow Autoconf guidelines and place general tests before specific tests.
author Rik <rik@octave.org>
date Tue, 31 Jul 2012 10:28:51 -0700
parents 72c96de7a403
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
2
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 11586
diff changeset
3 Copyright (C) 1993-2012 John W. Eaton
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
4
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
6
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6323
diff changeset
9 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6323
diff changeset
10 option) any later version.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
11
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
15 for more details.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
16
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6323
diff changeset
18 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6323
diff changeset
19 <http://www.gnu.org/licenses/>.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
20
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
21 */
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
22
383
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 296
diff changeset
23 #if !defined (octave_variables_h)
0b52c68ec81f [project @ 1994-03-09 21:19:44 by jwe]
jwe
parents: 296
diff changeset
24 #define octave_variables_h 1
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
25
2975
b9c107cbe388 [project @ 1997-05-15 20:01:00 by jwe]
jwe
parents: 2954
diff changeset
26 class octave_function;
4700
ca3a1d687bba [project @ 2004-01-21 03:28:31 by jwe]
jwe
parents: 4699
diff changeset
27 class octave_user_function;
1738
bb9d00aa55fb [project @ 1996-01-12 10:56:22 by jwe]
jwe
parents: 1727
diff changeset
28
2390
c2c1482c34c8 [project @ 1996-10-12 19:13:23 by jwe]
jwe
parents: 2293
diff changeset
29 class tree_identifier;
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
30 class octave_value;
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
31 class octave_value_list;
2892
aef2d43edbc2 [project @ 1997-04-28 02:04:28 by jwe]
jwe
parents: 2878
diff changeset
32 class octave_builtin;
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1738
diff changeset
33 class string_vector;
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1738
diff changeset
34
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
35 #include <climits>
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
36 #include <cfloat>
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
37
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1738
diff changeset
38 #include <string>
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
39
2390
c2c1482c34c8 [project @ 1996-10-12 19:13:23 by jwe]
jwe
parents: 2293
diff changeset
40 #include "ov.h"
2975
b9c107cbe388 [project @ 1997-05-15 20:01:00 by jwe]
jwe
parents: 2954
diff changeset
41 #include "ov-builtin.h"
2953
ca7d3625ee01 [project @ 1997-05-09 14:56:52 by jwe]
jwe
parents: 2949
diff changeset
42 #include "symtab.h"
195
13c6086c325c [project @ 1993-11-06 10:12:29 by jwe]
jwe
parents: 1
diff changeset
43
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
44 extern OCTINTERP_API void clear_mex_functions (void);
195
13c6086c325c [project @ 1993-11-06 10:12:29 by jwe]
jwe
parents: 1
diff changeset
45
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
46 extern OCTINTERP_API octave_function *
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3308
diff changeset
47 is_valid_function (const octave_value&, const std::string& = std::string (),
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
48 bool warn = false);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 581
diff changeset
49
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
50 extern OCTINTERP_API octave_function *
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3308
diff changeset
51 is_valid_function (const std::string&, const std::string& = std::string (),
11586
12df7854fa7c strip trailing whitespace from source files
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
52 bool warn = false);
3178
09a3064a3a17 [project @ 1998-06-23 03:46:42 by jwe]
jwe
parents: 3020
diff changeset
53
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
54 extern OCTINTERP_API octave_function *
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3308
diff changeset
55 extract_function (const octave_value& arg, const std::string& warn_for,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
56 const std::string& fname, const std::string& header,
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
57 const std::string& trailer);
2796
74bc1ede3c3d [project @ 1997-03-07 06:55:47 by jwe]
jwe
parents: 2447
diff changeset
58
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
59 extern OCTINTERP_API string_vector
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3308
diff changeset
60 get_struct_elts (const std::string& text);
2921
64dd86522a1d [project @ 1997-05-02 02:52:54 by jwe]
jwe
parents: 2907
diff changeset
61
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
62 extern OCTINTERP_API string_vector
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3308
diff changeset
63 generate_struct_completions (const std::string& text, std::string& prefix,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
64 std::string& hint);
3020
f491f232cb09 [project @ 1997-06-03 22:15:08 by jwe]
jwe
parents: 3016
diff changeset
65
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
66 extern OCTINTERP_API bool
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3308
diff changeset
67 looks_like_struct (const std::string& text);
2921
64dd86522a1d [project @ 1997-05-02 02:52:54 by jwe]
jwe
parents: 2907
diff changeset
68
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
69 extern OCTINTERP_API int
4930
bdb307dc8613 [project @ 2004-08-05 04:55:26 by jwe]
jwe
parents: 4700
diff changeset
70 symbol_exist (const std::string& name, const std::string& type = "any");
4319
05973ead74eb [project @ 2003-02-13 21:03:04 by jwe]
jwe
parents: 4245
diff changeset
71
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
72 extern OCTINTERP_API std::string
4954
ed0f3cb6d3d4 [project @ 2004-09-01 21:24:53 by jwe]
jwe
parents: 4930
diff changeset
73 unique_symbol_name (const std::string& basename);
ed0f3cb6d3d4 [project @ 2004-09-01 21:24:53 by jwe]
jwe
parents: 4930
diff changeset
74
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
75 extern OCTINTERP_API octave_value lookup_function_handle (const std::string& nm);
4988
352d228d409b [project @ 2004-09-11 13:05:38 by jwe]
jwe
parents: 4954
diff changeset
76
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
77 extern OCTINTERP_API octave_value
5027
da607e9daf12 [project @ 2004-09-23 01:37:57 by jwe]
jwe
parents: 4988
diff changeset
78 get_global_value (const std::string& nm, bool silent = false);
3020
f491f232cb09 [project @ 1997-06-03 22:15:08 by jwe]
jwe
parents: 3016
diff changeset
79
10071
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
80 extern OCTINTERP_API void
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
81 set_global_value (const std::string& nm, const octave_value& val);
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
82
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
83 extern OCTINTERP_API octave_value
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
84 get_top_level_value (const std::string& nm, bool silent = false);
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
85
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
86 extern OCTINTERP_API void
e42b1bbd1052 variables.cc (get_top_level_value, set_top_level_value): new functions
John W. Eaton <jwe@octave.org>
parents: 8920
diff changeset
87 set_top_level_value (const std::string& nm, const octave_value& val);
3020
f491f232cb09 [project @ 1997-06-03 22:15:08 by jwe]
jwe
parents: 3016
diff changeset
88
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
89 extern OCTINTERP_API octave_value
5791
70215aff5ccf [project @ 2006-05-04 18:38:45 by jwe]
jwe
parents: 5780
diff changeset
90 set_internal_variable (bool& var, const octave_value_list& args,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
91 int nargout, const char *nm);
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
92
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
93 extern OCTINTERP_API octave_value
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
94 set_internal_variable (char& var, const octave_value_list& args,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
95 int nargout, const char *nm);
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
96
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
97 extern OCTINTERP_API octave_value
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
98 set_internal_variable (int& var, const octave_value_list& args,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
99 int nargout, const char *nm,
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
100 int minval = INT_MIN, int maxval = INT_MAX);
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
101
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
102 extern OCTINTERP_API octave_value
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
103 set_internal_variable (double& var, const octave_value_list& args,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
104 int nargout, const char *nm,
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
105 double minval = DBL_MIN, double maxval = DBL_MAX);
5791
70215aff5ccf [project @ 2006-05-04 18:38:45 by jwe]
jwe
parents: 5780
diff changeset
106
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
107 extern OCTINTERP_API octave_value
5791
70215aff5ccf [project @ 2006-05-04 18:38:45 by jwe]
jwe
parents: 5780
diff changeset
108 set_internal_variable (std::string& var, const octave_value_list& args,
10313
f3b65e1ae355 untabify src header files
John W. Eaton <jwe@octave.org>
parents: 10160
diff changeset
109 int nargout, const char *nm, bool empty_ok = true);
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
110
10638
e1559a8a60b4 general mechanism for string enum variables
Jaroslav Hajek <highegg@gmail.com>
parents: 10443
diff changeset
111 extern OCTINTERP_API octave_value
e1559a8a60b4 general mechanism for string enum variables
Jaroslav Hajek <highegg@gmail.com>
parents: 10443
diff changeset
112 set_internal_variable (int& var, const octave_value_list& args,
10640
5c594472f75e determine string enum length by trailing null rather than sizeof
Jaroslav Hajek <highegg@gmail.com>
parents: 10638
diff changeset
113 int nargout, const char *nm, const char **choices);
10638
e1559a8a60b4 general mechanism for string enum variables
Jaroslav Hajek <highegg@gmail.com>
parents: 10443
diff changeset
114
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
115 #define SET_INTERNAL_VARIABLE(NM) \
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
116 set_internal_variable (V ## NM, args, nargout, #NM)
5791
70215aff5ccf [project @ 2006-05-04 18:38:45 by jwe]
jwe
parents: 5780
diff changeset
117
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
118 #define SET_NONEMPTY_INTERNAL_STRING_VARIABLE(NM) \
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
119 set_internal_variable (V ## NM, args, nargout, #NM, false)
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
120
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
121 #define SET_INTERNAL_VARIABLE_WITH_LIMITS(NM, MINVAL, MAXVAL) \
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
122 set_internal_variable (V ## NM, args, nargout, #NM, MINVAL, MAXVAL)
5791
70215aff5ccf [project @ 2006-05-04 18:38:45 by jwe]
jwe
parents: 5780
diff changeset
123
10640
5c594472f75e determine string enum length by trailing null rather than sizeof
Jaroslav Hajek <highegg@gmail.com>
parents: 10638
diff changeset
124 // in the following, CHOICES must be a C string array terminated by null.
10638
e1559a8a60b4 general mechanism for string enum variables
Jaroslav Hajek <highegg@gmail.com>
parents: 10443
diff changeset
125 #define SET_INTERNAL_VARIABLE_CHOICES(NM, CHOICES) \
10640
5c594472f75e determine string enum length by trailing null rather than sizeof
Jaroslav Hajek <highegg@gmail.com>
parents: 10638
diff changeset
126 set_internal_variable (V ## NM, args, nargout, #NM, CHOICES)
10638
e1559a8a60b4 general mechanism for string enum variables
Jaroslav Hajek <highegg@gmail.com>
parents: 10443
diff changeset
127
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
128 extern OCTINTERP_API std::string builtin_string_variable (const std::string&);
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
129 extern OCTINTERP_API int builtin_real_scalar_variable (const std::string&, double&);
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
130 extern OCTINTERP_API octave_value builtin_any_variable (const std::string&);
3020
f491f232cb09 [project @ 1997-06-03 22:15:08 by jwe]
jwe
parents: 3016
diff changeset
131
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
132 extern OCTINTERP_API void bind_ans (const octave_value& val, bool print);
1162
c210c5a25a48 [project @ 1995-02-27 17:36:16 by jwe]
jwe
parents: 1160
diff changeset
133
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
134 extern OCTINTERP_API void
5794
1138ced03f14 [project @ 2006-05-08 20:23:04 by jwe]
jwe
parents: 5791
diff changeset
135 bind_internal_variable (const std::string& fname, const octave_value& val);
1406
034a57daf076 [project @ 1995-09-15 06:03:10 by jwe]
jwe
parents: 1405
diff changeset
136
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7017
diff changeset
137 extern OCTINTERP_API void mlock (void);
6109
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
138 extern OCTINTERP_API void munlock (const std::string&);
c68896f193e3 [project @ 2006-10-27 02:16:18 by jwe]
jwe
parents: 6072
diff changeset
139 extern OCTINTERP_API bool mislocked (const std::string&);
4016
139f5273d0f8 [project @ 2002-08-02 22:55:51 by jwe]
jwe
parents: 4009
diff changeset
140
7336
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7017
diff changeset
141 extern OCTINTERP_API void clear_function (const std::string& nm);
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7017
diff changeset
142 extern OCTINTERP_API void clear_variable (const std::string& nm);
745a8299c2b5 [project @ 2007-12-28 20:56:55 by jwe]
jwe
parents: 7017
diff changeset
143 extern OCTINTERP_API void clear_symbol (const std::string& nm);
4009
27e461aed956 [project @ 2002-07-31 09:33:03 by jwe]
jwe
parents: 3930
diff changeset
144
10443
34e51d4e199b implement smart warnings about missing Matlab functionality
Jaroslav Hajek <highegg@gmail.com>
parents: 10313
diff changeset
145 extern OCTINTERP_API void maybe_missing_function_hook (const std::string& name);
34e51d4e199b implement smart warnings about missing Matlab functionality
Jaroslav Hajek <highegg@gmail.com>
parents: 10313
diff changeset
146
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
147 #endif