summaryrefslogtreecommitdiffstats
path: root/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/src/args.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'debian/uncrustify-trinity/uncrustify-trinity-0.75.0/src/args.cpp')
-rw-r--r--debian/uncrustify-trinity/uncrustify-trinity-0.75.0/src/args.cpp228
1 files changed, 0 insertions, 228 deletions
diff --git a/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/src/args.cpp b/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/src/args.cpp
deleted file mode 100644
index a03bbe00..00000000
--- a/debian/uncrustify-trinity/uncrustify-trinity-0.75.0/src/args.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/**
- * @file args.cpp
- * Parses command line arguments.
- *
- * @author Ben Gardner
- * @license GPL v2+
- */
-
-#include "args.h"
-
-#include "unc_ctype.h"
-
-#include <cstring>
-
-Args::Args(int argc, char **argv)
-{
- m_count = argc;
- m_values = argv;
- size_t len = (argc >> 3) + 1;
-
- m_used = new UINT8[len];
-
- if (m_used != nullptr)
- {
- memset(m_used, 0, len);
- }
-}
-
-
-Args::~Args()
-{
- if (m_used != nullptr)
- {
- delete[] m_used;
- m_used = nullptr;
- }
- m_count = 0;
-}
-
-
-bool Args::Present(const char *token)
-{
- if (token != nullptr)
- {
- for (size_t idx = 0; idx < m_count; idx++)
- {
- if (strcmp(token, m_values[idx]) == 0)
- {
- SetUsed(idx);
- return(true);
- }
- }
- }
- return(false);
-}
-
-
-const char *Args::Param(const char *token)
-{
- size_t idx = 0;
-
- return(Params(token, idx));
-}
-
-
-const char *Args::Params(const char *token, size_t &index)
-{
- if (token == nullptr)
- {
- // coveralls will complain
- // can only occur with a call such as: arg.Param(nullptr)
- return(nullptr);
- }
- size_t token_len = strlen(token);
-
- for (size_t idx = index; idx < m_count; idx++)
- {
- size_t arg_len = strlen(m_values[idx]);
-
- if ( arg_len >= token_len
- && (memcmp(token, m_values[idx], token_len) == 0))
- {
- SetUsed(idx);
-
- if (arg_len > token_len)
- {
- if (m_values[idx][token_len] == '=')
- {
- token_len++;
- }
- index = idx + 1;
- return(&m_values[idx][token_len]);
- }
- idx++;
- index = idx + 1;
-
- if (idx < m_count)
- {
- SetUsed(idx);
- return(m_values[idx]);
- }
- return(nullptr);
- }
- }
-
- return(nullptr);
-} // Args::Params
-
-
-bool Args::GetUsed(size_t idx)
-{
- if ( m_used != nullptr
- && idx > 0
- && idx < m_count)
- {
- return((m_used[idx >> 3] & (1 << (idx & 0x07))) != 0);
- }
- return(false);
-}
-
-
-void Args::SetUsed(size_t idx)
-{
- if ( m_used != nullptr
- && idx > 0
- && idx < m_count)
- {
- m_used[idx >> 3] |= (1 << (idx & 0x07));
- }
-}
-
-
-const char *Args::Unused(size_t &index)
-{
- if (m_used == nullptr)
- {
- return(nullptr);
- }
-
- for (size_t idx = index; idx < m_count; idx++)
- {
- if (!GetUsed(idx))
- {
- index = idx + 1;
- return(m_values[idx]);
- }
- }
-
- index = m_count;
- return(nullptr);
-}
-
-
-size_t Args::SplitLine(char *text, char *args[], size_t num_args)
-{
- if ( text == nullptr
- || num_args == 0)
- {
- return(0);
- }
- char cur_quote = 0;
- bool in_backslash = false;
- bool in_arg = false;
- size_t argc = 0;
- char *dest = text;
-
- while ( argc <= num_args // maximal number of arguments not reached yet
- && *text != 0) // end of string not reached yet
- {
- // Detect the start of an arg
- if ( !in_arg
- && !unc_isspace(*text))
- {
- in_arg = true;
- args[argc] = dest;
- argc++;
- }
-
- if (in_arg)
- {
- if (in_backslash)
- {
- in_backslash = false;
- *dest = *text;
- dest++;
- }
- else if (*text == '\\')
- {
- in_backslash = true;
- }
- else if (*text == cur_quote)
- {
- cur_quote = 0;
- }
- else if ( (*text == '\'')
- || (*text == '"')
- || (*text == '`'))
- {
- cur_quote = *text;
- }
- else if (cur_quote != 0)
- {
- *dest = *text;
- dest++;
- }
- else if (unc_isspace(*text))
- {
- *dest = 0;
- dest++;
- in_arg = false;
-
- if (argc == num_args)
- {
- break; // all arguments found, we can stop
- }
- }
- else
- {
- *dest = *text;
- dest++;
- }
- }
- text++; // go on with next character
- }
- *dest = 0;
-
- return(argc);
-} // Args::SplitLine