|
Packit |
6978fb |
/* matcher.c generated by valac 0.40.2, the Vala compiler
|
|
Packit |
6978fb |
* generated from matcher.vala, do not modify */
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
/*
|
|
Packit |
6978fb |
* Copyright (C) 2015 The Lemon Man
|
|
Packit |
6978fb |
*
|
|
Packit |
6978fb |
* This program is free software; you can redistribute it and/or modify
|
|
Packit |
6978fb |
* it under the terms of the GNU General Public License as published by
|
|
Packit |
6978fb |
* the Free Software Foundation; either version 2, or (at your option)
|
|
Packit |
6978fb |
* any later version.
|
|
Packit |
6978fb |
*
|
|
Packit |
6978fb |
* This program is distributed in the hope that it will be useful,
|
|
Packit |
6978fb |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
6978fb |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
6978fb |
* GNU General Public License for more details.
|
|
Packit |
6978fb |
*
|
|
Packit |
6978fb |
* You should have received a copy of the GNU General Public License
|
|
Packit |
6978fb |
* along with this program; if not, write to the Free Software
|
|
Packit |
6978fb |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
Packit |
6978fb |
*/
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
#include <glib.h>
|
|
Packit |
6978fb |
#include <glib-object.h>
|
|
Packit |
6978fb |
#include <stdlib.h>
|
|
Packit |
6978fb |
#include <string.h>
|
|
Packit |
6978fb |
#include <ctype.h>
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER (gedit_find_in_files_plugin_imatcher_get_type ())
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IMATCHER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER, GeditFindInFilesPluginIMatcher))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_IMATCHER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IMATCHER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER, GeditFindInFilesPluginIMatcherIface))
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginIMatcher GeditFindInFilesPluginIMatcher;
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginIMatcherIface GeditFindInFilesPluginIMatcherIface;
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_RANGE (gedit_find_in_files_plugin_range_get_type ())
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginRange GeditFindInFilesPluginRange;
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND (gedit_find_in_files_plugin_regex_find_get_type ())
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFind))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFindClass))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_REGEX_FIND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_REGEX_FIND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFindClass))
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginRegexFind GeditFindInFilesPluginRegexFind;
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginRegexFindClass GeditFindInFilesPluginRegexFindClass;
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginRegexFindPrivate GeditFindInFilesPluginRegexFindPrivate;
|
|
Packit |
6978fb |
enum {
|
|
Packit |
6978fb |
GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_0_PROPERTY,
|
|
Packit |
6978fb |
GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_NUM_PROPERTIES
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
static GParamSpec* gedit_find_in_files_plugin_regex_find_properties[GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_NUM_PROPERTIES];
|
|
Packit |
6978fb |
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
|
|
Packit |
6978fb |
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
|
|
Packit |
6978fb |
#define _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL)))
|
|
Packit |
6978fb |
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL (gedit_find_in_files_plugin_boyer_moore_horspool_get_type ())
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspool))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspoolClass))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_BOYER_MOORE_HORSPOOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_IS_BOYER_MOORE_HORSPOOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL))
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspoolClass))
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginBoyerMooreHorspool GeditFindInFilesPluginBoyerMooreHorspool;
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginBoyerMooreHorspoolClass GeditFindInFilesPluginBoyerMooreHorspoolClass;
|
|
Packit |
6978fb |
typedef struct _GeditFindInFilesPluginBoyerMooreHorspoolPrivate GeditFindInFilesPluginBoyerMooreHorspoolPrivate;
|
|
Packit |
6978fb |
enum {
|
|
Packit |
6978fb |
GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_0_PROPERTY,
|
|
Packit |
6978fb |
GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_NUM_PROPERTIES
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
static GParamSpec* gedit_find_in_files_plugin_boyer_moore_horspool_properties[GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_NUM_PROPERTIES];
|
|
Packit |
6978fb |
#define _g_free0(var) (var = (g_free (var), NULL))
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginRange {
|
|
Packit |
6978fb |
gsize from;
|
|
Packit |
6978fb |
gsize to;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginIMatcherIface {
|
|
Packit |
6978fb |
GTypeInterface parent_iface;
|
|
Packit |
6978fb |
gboolean (*has_match) (GeditFindInFilesPluginIMatcher* self, guint8* text, gsize text_length, gsize pos, GeditFindInFilesPluginRange* match);
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginRegexFind {
|
|
Packit |
6978fb |
GObject parent_instance;
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFindPrivate * priv;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginRegexFindClass {
|
|
Packit |
6978fb |
GObjectClass parent_class;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginRegexFindPrivate {
|
|
Packit |
6978fb |
GRegex* re;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginBoyerMooreHorspool {
|
|
Packit |
6978fb |
GObject parent_instance;
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspoolPrivate * priv;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginBoyerMooreHorspoolClass {
|
|
Packit |
6978fb |
GObjectClass parent_class;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
struct _GeditFindInFilesPluginBoyerMooreHorspoolPrivate {
|
|
Packit |
6978fb |
gchar* pattern;
|
|
Packit |
6978fb |
gint bad_char_shift[256];
|
|
Packit |
6978fb |
gboolean ignore_case;
|
|
Packit |
6978fb |
};
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static gpointer gedit_find_in_files_plugin_regex_find_parent_class = NULL;
|
|
Packit |
6978fb |
static GeditFindInFilesPluginIMatcherIface * gedit_find_in_files_plugin_regex_find_gedit_find_in_files_plugin_imatcher_parent_iface = NULL;
|
|
Packit |
6978fb |
static GType gedit_find_in_files_plugin_regex_find_type_id = 0;
|
|
Packit |
6978fb |
static gpointer gedit_find_in_files_plugin_boyer_moore_horspool_parent_class = NULL;
|
|
Packit |
6978fb |
static GeditFindInFilesPluginIMatcherIface * gedit_find_in_files_plugin_boyer_moore_horspool_gedit_find_in_files_plugin_imatcher_parent_iface = NULL;
|
|
Packit |
6978fb |
static GType gedit_find_in_files_plugin_boyer_moore_horspool_type_id = 0;
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GType gedit_find_in_files_plugin_range_get_type (void) G_GNUC_CONST;
|
|
Packit |
6978fb |
GeditFindInFilesPluginRange* gedit_find_in_files_plugin_range_dup (const GeditFindInFilesPluginRange* self);
|
|
Packit |
6978fb |
void gedit_find_in_files_plugin_range_free (GeditFindInFilesPluginRange* self);
|
|
Packit |
6978fb |
GType gedit_find_in_files_plugin_imatcher_get_type (void) G_GNUC_CONST;
|
|
Packit |
6978fb |
GType gedit_find_in_files_plugin_regex_find_get_type (void) G_GNUC_CONST;
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFindPrivate))
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind* gedit_find_in_files_plugin_regex_find_new (const gchar* pattern,
|
|
Packit |
6978fb |
gboolean ignore_case,
|
|
Packit |
6978fb |
GError** error);
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind* gedit_find_in_files_plugin_regex_find_construct (GType object_type,
|
|
Packit |
6978fb |
const gchar* pattern,
|
|
Packit |
6978fb |
gboolean ignore_case,
|
|
Packit |
6978fb |
GError** error);
|
|
Packit |
6978fb |
static gboolean gedit_find_in_files_plugin_regex_find_real_has_match (GeditFindInFilesPluginIMatcher* base,
|
|
Packit |
6978fb |
guint8* text,
|
|
Packit |
6978fb |
gsize text_length,
|
|
Packit |
6978fb |
gsize pos,
|
|
Packit |
6978fb |
GeditFindInFilesPluginRange* match);
|
|
Packit |
6978fb |
static void gedit_find_in_files_plugin_regex_find_finalize (GObject * obj);
|
|
Packit |
6978fb |
GType gedit_find_in_files_plugin_boyer_moore_horspool_get_type (void) G_GNUC_CONST;
|
|
Packit |
6978fb |
#define GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspoolPrivate))
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool* gedit_find_in_files_plugin_boyer_moore_horspool_new (const gchar* pattern_,
|
|
Packit |
6978fb |
gboolean ignore_case_);
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool* gedit_find_in_files_plugin_boyer_moore_horspool_construct (GType object_type,
|
|
Packit |
6978fb |
const gchar* pattern_,
|
|
Packit |
6978fb |
gboolean ignore_case_);
|
|
Packit |
6978fb |
static gboolean gedit_find_in_files_plugin_boyer_moore_horspool_real_has_match (GeditFindInFilesPluginIMatcher* base,
|
|
Packit |
6978fb |
guint8* text,
|
|
Packit |
6978fb |
gsize text_length,
|
|
Packit |
6978fb |
gsize pos,
|
|
Packit |
6978fb |
GeditFindInFilesPluginRange* match);
|
|
Packit |
6978fb |
static void gedit_find_in_files_plugin_boyer_moore_horspool_finalize (GObject * obj);
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind*
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_construct (GType object_type,
|
|
Packit |
6978fb |
const gchar* pattern,
|
|
Packit |
6978fb |
gboolean ignore_case,
|
|
Packit |
6978fb |
GError** error)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind * self = NULL;
|
|
Packit |
6978fb |
GRegexCompileFlags flags = 0;
|
|
Packit |
6978fb |
GRegex* _tmp1_ = NULL;
|
|
Packit |
6978fb |
GRegexCompileFlags _tmp2_;
|
|
Packit |
6978fb |
GRegex* _tmp3_;
|
|
Packit |
6978fb |
GRegex* _tmp4_;
|
|
Packit |
6978fb |
GError * _inner_error_ = NULL;
|
|
Packit |
6978fb |
g_return_val_if_fail (pattern != NULL, NULL);
|
|
Packit |
6978fb |
self = (GeditFindInFilesPluginRegexFind*) g_object_new (object_type, NULL);
|
|
Packit |
6978fb |
flags = G_REGEX_OPTIMIZE;
|
|
Packit |
6978fb |
if (ignore_case) {
|
|
Packit |
6978fb |
GRegexCompileFlags _tmp0_;
|
|
Packit |
6978fb |
_tmp0_ = flags;
|
|
Packit |
6978fb |
flags = _tmp0_ | G_REGEX_CASELESS;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp2_ = flags;
|
|
Packit |
6978fb |
_tmp3_ = g_regex_new (pattern, _tmp2_, 0, &_inner_error_);
|
|
Packit |
6978fb |
_tmp1_ = _tmp3_;
|
|
Packit |
6978fb |
if (G_UNLIKELY (_inner_error_ != NULL)) {
|
|
Packit |
6978fb |
g_propagate_error (error, _inner_error_);
|
|
Packit |
6978fb |
_g_object_unref0 (self);
|
|
Packit |
6978fb |
return NULL;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp4_ = _tmp1_;
|
|
Packit |
6978fb |
_tmp1_ = NULL;
|
|
Packit |
6978fb |
_g_regex_unref0 (self->priv->re);
|
|
Packit |
6978fb |
self->priv->re = _tmp4_;
|
|
Packit |
6978fb |
_g_regex_unref0 (_tmp1_);
|
|
Packit |
6978fb |
return self;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind*
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_new (const gchar* pattern,
|
|
Packit |
6978fb |
gboolean ignore_case,
|
|
Packit |
6978fb |
GError** error)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
return gedit_find_in_files_plugin_regex_find_construct (GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, pattern, ignore_case, error);
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static gboolean
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_real_has_match (GeditFindInFilesPluginIMatcher* base,
|
|
Packit |
6978fb |
guint8* text,
|
|
Packit |
6978fb |
gsize text_length,
|
|
Packit |
6978fb |
gsize pos,
|
|
Packit |
6978fb |
GeditFindInFilesPluginRange* match)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind * self;
|
|
Packit |
6978fb |
gboolean result = FALSE;
|
|
Packit |
6978fb |
GMatchInfo* info = NULL;
|
|
Packit |
6978fb |
gint casted_pos = 0;
|
|
Packit |
6978fb |
const gchar* str = NULL;
|
|
Packit |
6978fb |
gint _tmp9_ = 0;
|
|
Packit |
6978fb |
gint _tmp10_ = 0;
|
|
Packit |
6978fb |
GError * _inner_error_ = NULL;
|
|
Packit |
6978fb |
self = (GeditFindInFilesPluginRegexFind*) base;
|
|
Packit |
6978fb |
g_return_val_if_fail (match != NULL, FALSE);
|
|
Packit |
6978fb |
if (pos > ((gsize) G_MAXINT)) {
|
|
Packit |
6978fb |
casted_pos = 0;
|
|
Packit |
6978fb |
text = text + pos;
|
|
Packit |
6978fb |
} else {
|
|
Packit |
6978fb |
casted_pos = (gint) pos;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
str = (const gchar*) text;
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gboolean _tmp0_ = FALSE;
|
|
Packit |
6978fb |
GRegex* _tmp1_;
|
|
Packit |
6978fb |
gint _tmp2_;
|
|
Packit |
6978fb |
GMatchInfo* _tmp3_ = NULL;
|
|
Packit |
6978fb |
gboolean _tmp4_;
|
|
Packit |
6978fb |
_tmp1_ = self->priv->re;
|
|
Packit |
6978fb |
_tmp2_ = casted_pos;
|
|
Packit |
6978fb |
_tmp4_ = g_regex_match_full (_tmp1_, str, (gssize) text_length, _tmp2_, 0, &_tmp3_, &_inner_error_);
|
|
Packit |
6978fb |
_g_match_info_unref0 (info);
|
|
Packit |
6978fb |
info = _tmp3_;
|
|
Packit |
6978fb |
_tmp0_ = _tmp4_;
|
|
Packit |
6978fb |
if (G_UNLIKELY (_inner_error_ != NULL)) {
|
|
Packit |
6978fb |
gboolean _tmp5_ = FALSE;
|
|
Packit |
6978fb |
if (_inner_error_->domain == G_REGEX_ERROR) {
|
|
Packit |
6978fb |
goto __catch3_g_regex_error;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_g_match_info_unref0 (info);
|
|
Packit |
6978fb |
g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
|
|
Packit |
6978fb |
g_clear_error (&_inner_error_);
|
|
Packit |
6978fb |
return _tmp5_;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
if (!_tmp0_) {
|
|
Packit |
6978fb |
result = FALSE;
|
|
Packit |
6978fb |
_g_match_info_unref0 (info);
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
goto __finally3;
|
|
Packit |
6978fb |
__catch3_g_regex_error:
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GError* err = NULL;
|
|
Packit |
6978fb |
GError* _tmp6_;
|
|
Packit |
6978fb |
const gchar* _tmp7_;
|
|
Packit |
6978fb |
err = _inner_error_;
|
|
Packit |
6978fb |
_inner_error_ = NULL;
|
|
Packit |
6978fb |
_tmp6_ = err;
|
|
Packit |
6978fb |
_tmp7_ = _tmp6_->message;
|
|
Packit |
6978fb |
g_warning ("matcher.vala:55: %s", _tmp7_);
|
|
Packit |
6978fb |
result = FALSE;
|
|
Packit |
6978fb |
_g_error_free0 (err);
|
|
Packit |
6978fb |
_g_match_info_unref0 (info);
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
__finally3:
|
|
Packit |
6978fb |
if (G_UNLIKELY (_inner_error_ != NULL)) {
|
|
Packit |
6978fb |
gboolean _tmp8_ = FALSE;
|
|
Packit |
6978fb |
_g_match_info_unref0 (info);
|
|
Packit |
6978fb |
g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
|
|
Packit |
6978fb |
g_clear_error (&_inner_error_);
|
|
Packit |
6978fb |
return _tmp8_;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
g_match_info_fetch_pos (info, 0, &_tmp9_, &_tmp10_);
|
|
Packit |
6978fb |
(*match).from = (gsize) _tmp9_;
|
|
Packit |
6978fb |
(*match).to = (gsize) _tmp10_;
|
|
Packit |
6978fb |
result = TRUE;
|
|
Packit |
6978fb |
_g_match_info_unref0 (info);
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_class_init (GeditFindInFilesPluginRegexFindClass * klass)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_parent_class = g_type_class_peek_parent (klass);
|
|
Packit |
6978fb |
g_type_class_add_private (klass, sizeof (GeditFindInFilesPluginRegexFindPrivate));
|
|
Packit |
6978fb |
G_OBJECT_CLASS (klass)->finalize = gedit_find_in_files_plugin_regex_find_finalize;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_gedit_find_in_files_plugin_imatcher_interface_init (GeditFindInFilesPluginIMatcherIface * iface)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_gedit_find_in_files_plugin_imatcher_parent_iface = g_type_interface_peek_parent (iface);
|
|
Packit |
6978fb |
iface->has_match = (gboolean (*) (GeditFindInFilesPluginIMatcher *, guint8*, gsize, gsize, GeditFindInFilesPluginRange*)) gedit_find_in_files_plugin_regex_find_real_has_match;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_instance_init (GeditFindInFilesPluginRegexFind * self)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
self->priv = GEDIT_FIND_IN_FILES_PLUGIN_REGEX_FIND_GET_PRIVATE (self);
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_finalize (GObject * obj)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GeditFindInFilesPluginRegexFind * self;
|
|
Packit |
6978fb |
self = G_TYPE_CHECK_INSTANCE_CAST (obj, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_REGEX_FIND, GeditFindInFilesPluginRegexFind);
|
|
Packit |
6978fb |
_g_regex_unref0 (self->priv->re);
|
|
Packit |
6978fb |
G_OBJECT_CLASS (gedit_find_in_files_plugin_regex_find_parent_class)->finalize (obj);
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GType
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_get_type (void)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
return gedit_find_in_files_plugin_regex_find_type_id;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GType
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_register_type (GTypeModule * module)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
static const GTypeInfo g_define_type_info = { sizeof (GeditFindInFilesPluginRegexFindClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gedit_find_in_files_plugin_regex_find_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeditFindInFilesPluginRegexFind), 0, (GInstanceInitFunc) gedit_find_in_files_plugin_regex_find_instance_init, NULL };
|
|
Packit |
6978fb |
static const GInterfaceInfo gedit_find_in_files_plugin_imatcher_info = { (GInterfaceInitFunc) gedit_find_in_files_plugin_regex_find_gedit_find_in_files_plugin_imatcher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_regex_find_type_id = g_type_module_register_type (module, G_TYPE_OBJECT, "GeditFindInFilesPluginRegexFind", &g_define_type_info, 0);
|
|
Packit |
6978fb |
g_type_module_add_interface (module, gedit_find_in_files_plugin_regex_find_type_id, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER, &gedit_find_in_files_plugin_imatcher_info);
|
|
Packit |
6978fb |
return gedit_find_in_files_plugin_regex_find_type_id;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static gchar
|
|
Packit |
6978fb |
string_get (const gchar* self,
|
|
Packit |
6978fb |
glong index)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gchar result = '\0';
|
|
Packit |
6978fb |
gchar _tmp0_;
|
|
Packit |
6978fb |
g_return_val_if_fail (self != NULL, '\0');
|
|
Packit |
6978fb |
_tmp0_ = ((gchar*) self)[index];
|
|
Packit |
6978fb |
result = _tmp0_;
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool*
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_construct (GType object_type,
|
|
Packit |
6978fb |
const gchar* pattern_,
|
|
Packit |
6978fb |
gboolean ignore_case_)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool * self = NULL;
|
|
Packit |
6978fb |
gchar* _tmp0_;
|
|
Packit |
6978fb |
g_return_val_if_fail (pattern_ != NULL, NULL);
|
|
Packit |
6978fb |
self = (GeditFindInFilesPluginBoyerMooreHorspool*) g_object_new (object_type, NULL);
|
|
Packit |
6978fb |
_tmp0_ = g_strdup (pattern_);
|
|
Packit |
6978fb |
_g_free0 (self->priv->pattern);
|
|
Packit |
6978fb |
self->priv->pattern = _tmp0_;
|
|
Packit |
6978fb |
self->priv->ignore_case = ignore_case_;
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gint i = 0;
|
|
Packit |
6978fb |
i = 0;
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gboolean _tmp1_ = FALSE;
|
|
Packit |
6978fb |
_tmp1_ = TRUE;
|
|
Packit |
6978fb |
while (TRUE) {
|
|
Packit |
6978fb |
gint _tmp3_;
|
|
Packit |
6978fb |
gint _tmp4_;
|
|
Packit |
6978fb |
const gchar* _tmp5_;
|
|
Packit |
6978fb |
gint _tmp6_;
|
|
Packit |
6978fb |
gint _tmp7_;
|
|
Packit |
6978fb |
gint _tmp8_;
|
|
Packit |
6978fb |
if (!_tmp1_) {
|
|
Packit |
6978fb |
gint _tmp2_;
|
|
Packit |
6978fb |
_tmp2_ = i;
|
|
Packit |
6978fb |
i = _tmp2_ + 1;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp1_ = FALSE;
|
|
Packit |
6978fb |
_tmp3_ = i;
|
|
Packit |
6978fb |
if (!(_tmp3_ < 256)) {
|
|
Packit |
6978fb |
break;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp4_ = i;
|
|
Packit |
6978fb |
_tmp5_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp6_ = strlen (_tmp5_);
|
|
Packit |
6978fb |
_tmp7_ = _tmp6_;
|
|
Packit |
6978fb |
self->priv->bad_char_shift[_tmp4_] = _tmp7_;
|
|
Packit |
6978fb |
_tmp8_ = self->priv->bad_char_shift[_tmp4_];
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gint i = 0;
|
|
Packit |
6978fb |
i = 0;
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gboolean _tmp9_ = FALSE;
|
|
Packit |
6978fb |
_tmp9_ = TRUE;
|
|
Packit |
6978fb |
while (TRUE) {
|
|
Packit |
6978fb |
gint _tmp11_;
|
|
Packit |
6978fb |
const gchar* _tmp12_;
|
|
Packit |
6978fb |
gint _tmp13_;
|
|
Packit |
6978fb |
gint _tmp14_;
|
|
Packit |
6978fb |
gboolean _tmp15_;
|
|
Packit |
6978fb |
if (!_tmp9_) {
|
|
Packit |
6978fb |
gint _tmp10_;
|
|
Packit |
6978fb |
_tmp10_ = i;
|
|
Packit |
6978fb |
i = _tmp10_ + 1;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp9_ = FALSE;
|
|
Packit |
6978fb |
_tmp11_ = i;
|
|
Packit |
6978fb |
_tmp12_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp13_ = strlen (_tmp12_);
|
|
Packit |
6978fb |
_tmp14_ = _tmp13_;
|
|
Packit |
6978fb |
if (!(_tmp11_ < (_tmp14_ - 1))) {
|
|
Packit |
6978fb |
break;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp15_ = self->priv->ignore_case;
|
|
Packit |
6978fb |
if (_tmp15_) {
|
|
Packit |
6978fb |
const gchar* _tmp16_;
|
|
Packit |
6978fb |
gint _tmp17_;
|
|
Packit |
6978fb |
const gchar* _tmp18_;
|
|
Packit |
6978fb |
gint _tmp19_;
|
|
Packit |
6978fb |
gint _tmp20_;
|
|
Packit |
6978fb |
gint _tmp21_;
|
|
Packit |
6978fb |
gint _tmp22_;
|
|
Packit |
6978fb |
const gchar* _tmp23_;
|
|
Packit |
6978fb |
gint _tmp24_;
|
|
Packit |
6978fb |
const gchar* _tmp25_;
|
|
Packit |
6978fb |
gint _tmp26_;
|
|
Packit |
6978fb |
gint _tmp27_;
|
|
Packit |
6978fb |
gint _tmp28_;
|
|
Packit |
6978fb |
gint _tmp29_;
|
|
Packit |
6978fb |
_tmp16_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp17_ = i;
|
|
Packit |
6978fb |
_tmp18_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp19_ = strlen (_tmp18_);
|
|
Packit |
6978fb |
_tmp20_ = _tmp19_;
|
|
Packit |
6978fb |
_tmp21_ = i;
|
|
Packit |
6978fb |
self->priv->bad_char_shift[toupper ((gint) string_get (_tmp16_, (glong) _tmp17_))] = (_tmp20_ - 1) - _tmp21_;
|
|
Packit |
6978fb |
_tmp22_ = self->priv->bad_char_shift[toupper ((gint) string_get (_tmp16_, (glong) _tmp17_))];
|
|
Packit |
6978fb |
_tmp23_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp24_ = i;
|
|
Packit |
6978fb |
_tmp25_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp26_ = strlen (_tmp25_);
|
|
Packit |
6978fb |
_tmp27_ = _tmp26_;
|
|
Packit |
6978fb |
_tmp28_ = i;
|
|
Packit |
6978fb |
self->priv->bad_char_shift[tolower ((gint) string_get (_tmp23_, (glong) _tmp24_))] = (_tmp27_ - 1) - _tmp28_;
|
|
Packit |
6978fb |
_tmp29_ = self->priv->bad_char_shift[tolower ((gint) string_get (_tmp23_, (glong) _tmp24_))];
|
|
Packit |
6978fb |
} else {
|
|
Packit |
6978fb |
const gchar* _tmp30_;
|
|
Packit |
6978fb |
gint _tmp31_;
|
|
Packit |
6978fb |
const gchar* _tmp32_;
|
|
Packit |
6978fb |
gint _tmp33_;
|
|
Packit |
6978fb |
gint _tmp34_;
|
|
Packit |
6978fb |
gint _tmp35_;
|
|
Packit |
6978fb |
gint _tmp36_;
|
|
Packit |
6978fb |
_tmp30_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp31_ = i;
|
|
Packit |
6978fb |
_tmp32_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp33_ = strlen (_tmp32_);
|
|
Packit |
6978fb |
_tmp34_ = _tmp33_;
|
|
Packit |
6978fb |
_tmp35_ = i;
|
|
Packit |
6978fb |
self->priv->bad_char_shift[string_get (_tmp30_, (glong) _tmp31_)] = (_tmp34_ - 1) - _tmp35_;
|
|
Packit |
6978fb |
_tmp36_ = self->priv->bad_char_shift[string_get (_tmp30_, (glong) _tmp31_)];
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
return self;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool*
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_new (const gchar* pattern_,
|
|
Packit |
6978fb |
gboolean ignore_case_)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
return gedit_find_in_files_plugin_boyer_moore_horspool_construct (GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, pattern_, ignore_case_);
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static gboolean
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_real_has_match (GeditFindInFilesPluginIMatcher* base,
|
|
Packit |
6978fb |
guint8* text,
|
|
Packit |
6978fb |
gsize text_length,
|
|
Packit |
6978fb |
gsize pos,
|
|
Packit |
6978fb |
GeditFindInFilesPluginRange* match)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool * self;
|
|
Packit |
6978fb |
gboolean result = FALSE;
|
|
Packit |
6978fb |
guint i = 0U;
|
|
Packit |
6978fb |
const gchar* _tmp0_;
|
|
Packit |
6978fb |
gint _tmp1_;
|
|
Packit |
6978fb |
gint _tmp2_;
|
|
Packit |
6978fb |
self = (GeditFindInFilesPluginBoyerMooreHorspool*) base;
|
|
Packit |
6978fb |
g_return_val_if_fail (match != NULL, FALSE);
|
|
Packit |
6978fb |
i = (guint) 0;
|
|
Packit |
6978fb |
text = text + pos;
|
|
Packit |
6978fb |
text_length = text_length - pos;
|
|
Packit |
6978fb |
_tmp0_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp1_ = strlen (_tmp0_);
|
|
Packit |
6978fb |
_tmp2_ = _tmp1_;
|
|
Packit |
6978fb |
if (text_length < ((gsize) _tmp2_)) {
|
|
Packit |
6978fb |
result = FALSE;
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
while (TRUE) {
|
|
Packit |
6978fb |
guint _tmp3_;
|
|
Packit |
6978fb |
const gchar* _tmp4_;
|
|
Packit |
6978fb |
gint _tmp5_;
|
|
Packit |
6978fb |
gint _tmp6_;
|
|
Packit |
6978fb |
guint _tmp31_;
|
|
Packit |
6978fb |
guint _tmp32_;
|
|
Packit |
6978fb |
const gchar* _tmp33_;
|
|
Packit |
6978fb |
gint _tmp34_;
|
|
Packit |
6978fb |
gint _tmp35_;
|
|
Packit |
6978fb |
guint8 _tmp36_;
|
|
Packit |
6978fb |
gint _tmp37_;
|
|
Packit |
6978fb |
_tmp3_ = i;
|
|
Packit |
6978fb |
_tmp4_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp5_ = strlen (_tmp4_);
|
|
Packit |
6978fb |
_tmp6_ = _tmp5_;
|
|
Packit |
6978fb |
if (!(((gsize) _tmp3_) <= (text_length - _tmp6_))) {
|
|
Packit |
6978fb |
break;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gint j = 0;
|
|
Packit |
6978fb |
const gchar* _tmp7_;
|
|
Packit |
6978fb |
gint _tmp8_;
|
|
Packit |
6978fb |
gint _tmp9_;
|
|
Packit |
6978fb |
_tmp7_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp8_ = strlen (_tmp7_);
|
|
Packit |
6978fb |
_tmp9_ = _tmp8_;
|
|
Packit |
6978fb |
j = _tmp9_ - 1;
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gboolean _tmp10_ = FALSE;
|
|
Packit |
6978fb |
_tmp10_ = TRUE;
|
|
Packit |
6978fb |
while (TRUE) {
|
|
Packit |
6978fb |
gint _tmp12_;
|
|
Packit |
6978fb |
gboolean _tmp13_;
|
|
Packit |
6978fb |
gint _tmp24_;
|
|
Packit |
6978fb |
if (!_tmp10_) {
|
|
Packit |
6978fb |
gint _tmp11_;
|
|
Packit |
6978fb |
_tmp11_ = j;
|
|
Packit |
6978fb |
j = _tmp11_ - 1;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp10_ = FALSE;
|
|
Packit |
6978fb |
_tmp12_ = j;
|
|
Packit |
6978fb |
if (!(_tmp12_ >= 0)) {
|
|
Packit |
6978fb |
break;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp13_ = self->priv->ignore_case;
|
|
Packit |
6978fb |
if (_tmp13_) {
|
|
Packit |
6978fb |
guint _tmp14_;
|
|
Packit |
6978fb |
gint _tmp15_;
|
|
Packit |
6978fb |
guint8 _tmp16_;
|
|
Packit |
6978fb |
const gchar* _tmp17_;
|
|
Packit |
6978fb |
gint _tmp18_;
|
|
Packit |
6978fb |
_tmp14_ = i;
|
|
Packit |
6978fb |
_tmp15_ = j;
|
|
Packit |
6978fb |
_tmp16_ = text[_tmp14_ + _tmp15_];
|
|
Packit |
6978fb |
_tmp17_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp18_ = j;
|
|
Packit |
6978fb |
if (tolower ((gint) _tmp16_) != tolower ((gint) string_get (_tmp17_, (glong) _tmp18_))) {
|
|
Packit |
6978fb |
break;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
} else {
|
|
Packit |
6978fb |
guint _tmp19_;
|
|
Packit |
6978fb |
gint _tmp20_;
|
|
Packit |
6978fb |
guint8 _tmp21_;
|
|
Packit |
6978fb |
const gchar* _tmp22_;
|
|
Packit |
6978fb |
gint _tmp23_;
|
|
Packit |
6978fb |
_tmp19_ = i;
|
|
Packit |
6978fb |
_tmp20_ = j;
|
|
Packit |
6978fb |
_tmp21_ = text[_tmp19_ + _tmp20_];
|
|
Packit |
6978fb |
_tmp22_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp23_ = j;
|
|
Packit |
6978fb |
if (_tmp21_ != ((guint8) string_get (_tmp22_, (glong) _tmp23_))) {
|
|
Packit |
6978fb |
break;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp24_ = j;
|
|
Packit |
6978fb |
if (_tmp24_ == 0) {
|
|
Packit |
6978fb |
guint _tmp25_;
|
|
Packit |
6978fb |
GeditFindInFilesPluginRange _tmp26_;
|
|
Packit |
6978fb |
gsize _tmp27_;
|
|
Packit |
6978fb |
const gchar* _tmp28_;
|
|
Packit |
6978fb |
gint _tmp29_;
|
|
Packit |
6978fb |
gint _tmp30_;
|
|
Packit |
6978fb |
_tmp25_ = i;
|
|
Packit |
6978fb |
(*match).from = pos + _tmp25_;
|
|
Packit |
6978fb |
_tmp26_ = *match;
|
|
Packit |
6978fb |
_tmp27_ = _tmp26_.from;
|
|
Packit |
6978fb |
_tmp28_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp29_ = strlen (_tmp28_);
|
|
Packit |
6978fb |
_tmp30_ = _tmp29_;
|
|
Packit |
6978fb |
(*match).to = _tmp27_ + _tmp30_;
|
|
Packit |
6978fb |
result = TRUE;
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
_tmp31_ = i;
|
|
Packit |
6978fb |
_tmp32_ = i;
|
|
Packit |
6978fb |
_tmp33_ = self->priv->pattern;
|
|
Packit |
6978fb |
_tmp34_ = strlen (_tmp33_);
|
|
Packit |
6978fb |
_tmp35_ = _tmp34_;
|
|
Packit |
6978fb |
_tmp36_ = text[(_tmp32_ + _tmp35_) - 1];
|
|
Packit |
6978fb |
_tmp37_ = self->priv->bad_char_shift[_tmp36_];
|
|
Packit |
6978fb |
i = _tmp31_ + _tmp37_;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
result = FALSE;
|
|
Packit |
6978fb |
return result;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_class_init (GeditFindInFilesPluginBoyerMooreHorspoolClass * klass)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_parent_class = g_type_class_peek_parent (klass);
|
|
Packit |
6978fb |
g_type_class_add_private (klass, sizeof (GeditFindInFilesPluginBoyerMooreHorspoolPrivate));
|
|
Packit |
6978fb |
G_OBJECT_CLASS (klass)->finalize = gedit_find_in_files_plugin_boyer_moore_horspool_finalize;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_gedit_find_in_files_plugin_imatcher_interface_init (GeditFindInFilesPluginIMatcherIface * iface)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_gedit_find_in_files_plugin_imatcher_parent_iface = g_type_interface_peek_parent (iface);
|
|
Packit |
6978fb |
iface->has_match = (gboolean (*) (GeditFindInFilesPluginIMatcher *, guint8*, gsize, gsize, GeditFindInFilesPluginRange*)) gedit_find_in_files_plugin_boyer_moore_horspool_real_has_match;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_instance_init (GeditFindInFilesPluginBoyerMooreHorspool * self)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
self->priv = GEDIT_FIND_IN_FILES_PLUGIN_BOYER_MOORE_HORSPOOL_GET_PRIVATE (self);
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
static void
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_finalize (GObject * obj)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
GeditFindInFilesPluginBoyerMooreHorspool * self;
|
|
Packit |
6978fb |
self = G_TYPE_CHECK_INSTANCE_CAST (obj, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_BOYER_MOORE_HORSPOOL, GeditFindInFilesPluginBoyerMooreHorspool);
|
|
Packit |
6978fb |
_g_free0 (self->priv->pattern);
|
|
Packit |
6978fb |
G_OBJECT_CLASS (gedit_find_in_files_plugin_boyer_moore_horspool_parent_class)->finalize (obj);
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GType
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_get_type (void)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
return gedit_find_in_files_plugin_boyer_moore_horspool_type_id;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
GType
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_register_type (GTypeModule * module)
|
|
Packit |
6978fb |
{
|
|
Packit |
6978fb |
static const GTypeInfo g_define_type_info = { sizeof (GeditFindInFilesPluginBoyerMooreHorspoolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) gedit_find_in_files_plugin_boyer_moore_horspool_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GeditFindInFilesPluginBoyerMooreHorspool), 0, (GInstanceInitFunc) gedit_find_in_files_plugin_boyer_moore_horspool_instance_init, NULL };
|
|
Packit |
6978fb |
static const GInterfaceInfo gedit_find_in_files_plugin_imatcher_info = { (GInterfaceInitFunc) gedit_find_in_files_plugin_boyer_moore_horspool_gedit_find_in_files_plugin_imatcher_interface_init, (GInterfaceFinalizeFunc) NULL, NULL};
|
|
Packit |
6978fb |
gedit_find_in_files_plugin_boyer_moore_horspool_type_id = g_type_module_register_type (module, G_TYPE_OBJECT, "GeditFindInFilesPluginBoyerMooreHorspool", &g_define_type_info, 0);
|
|
Packit |
6978fb |
g_type_module_add_interface (module, gedit_find_in_files_plugin_boyer_moore_horspool_type_id, GEDIT_FIND_IN_FILES_PLUGIN_TYPE_IMATCHER, &gedit_find_in_files_plugin_imatcher_info);
|
|
Packit |
6978fb |
return gedit_find_in_files_plugin_boyer_moore_horspool_type_id;
|
|
Packit |
6978fb |
}
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|
|
Packit |
6978fb |
|