aboutsummaryrefslogtreecommitdiffhomepage
path: root/symbols.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2012-12-04 17:29:01 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2012-12-04 22:07:08 +0100
commitd8a316514c03d85b771a9dce4a8a51b875d955b3 (patch)
tree8966c29db767a155848f6d90f76771ce5b9de32e /symbols.cpp
parentb120616b6da52e951097f69ad267de06081d218a (diff)
autoconf preparation: move everything into src/ subdir
Diffstat (limited to 'symbols.cpp')
-rw-r--r--symbols.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/symbols.cpp b/symbols.cpp
deleted file mode 100644
index c05d153..0000000
--- a/symbols.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-#include <string.h>
-
-#include <glib.h>
-
-#include "symbols.h"
-
-/*
- * defaults for sciteco-minimal
- */
-namespace Symbols {
- SymbolList __attribute__((weak)) scintilla;
- SymbolList __attribute__((weak)) scilexer;
-}
-
-/*
- * Since symbol lists are presorted constant arrays we can do a simple
- * binary search.
- */
-gint
-SymbolList::lookup(const gchar *name, const gchar *prefix, bool case_sensitive)
-{
- int (*cmp_fnc)(const char *, const char *, size_t);
- gint prefix_skip = strlen(prefix);
- gint name_len = strlen(name);
-
- gint left = 0;
- gint right = size - 1;
-
- cmp_fnc = case_sensitive ? strncmp : g_ascii_strncasecmp;
-
- if (!cmp_fnc(name, prefix, prefix_skip))
- prefix_skip = 0;
-
- while (left <= right) {
- gint cur = left + (right-left)/2;
- gint cmp = cmp_fnc(entries[cur].name + prefix_skip,
- name, name_len + 1);
-
- if (!cmp)
- return entries[cur].value;
-
- if (cmp > 0)
- right = cur-1;
- else /* cmp < 0 */
- left = cur+1;
- }
-
- return -1;
-}
-
-GList *
-SymbolList::get_glist(void)
-{
- if (!list) {
- for (gint i = size; i; i--)
- list = g_list_prepend(list, (gchar *)entries[i-1].name);
- }
-
- return list;
-}