diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-08-24 11:16:07 +0200 |
| commit | c068f22329d5cc722622a2183bbb22eef2093df7 (patch) | |
| tree | 12d56c1aede67988a55e241364606bfbb4dba933 /tool_src/QvLib/QvSFBool.cpp | |
| download | openparsec-main.tar.xz openparsec-main.zip | |
Diffstat (limited to 'tool_src/QvLib/QvSFBool.cpp')
| -rw-r--r-- | tool_src/QvLib/QvSFBool.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tool_src/QvLib/QvSFBool.cpp b/tool_src/QvLib/QvSFBool.cpp new file mode 100644 index 0000000..a1ecd9c --- /dev/null +++ b/tool_src/QvLib/QvSFBool.cpp @@ -0,0 +1,37 @@ +#include <QvReadError.h> +#include <QvSFBool.h> + +QV_SFIELD_SOURCE(QvSFBool); + +QvBool +QvSFBool::readValue(QvInput *in) +{ + // accept 0 or 1 + if (in->read(value)) { + if (value != 0 && value != 1) { + QvReadError::post(in, "Illegal value for QvSFBool: %d " + "(must be 0 or 1)", value); + return FALSE; + } + return TRUE; + } + + // read TRUE/FALSE keyword + QvName n; + if (! in->read(n, TRUE)) + return FALSE; + + if (n == "TRUE") { + value = TRUE; + return TRUE; + } + + if (n == "FALSE") { + value = FALSE; + return TRUE; + } + + QvReadError::post(in, "Unknown value (\"%s\") for QvSFBool ", + "(must be TRUE or FALSE)", n.getString()); + return FALSE; +} |
