readapt 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +3 -0
- data/ext/readapt/monitor.c +13 -3
- data/ext/readapt/normalize.c +54 -0
- data/ext/readapt/normalize.h +2 -0
- data/ext/readapt/readapt.c +2 -0
- data/lib/readapt.rb +0 -14
- data/lib/readapt/version.rb +1 -1
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca110db308531d06091109f30be41eade7e691deedef85925b758510590142a1
|
4
|
+
data.tar.gz: 75527ab9f084610c45a5bd2127e45d10c805b47f64932b96468869eabcdd1faf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3c3f6ca8d4bdce3fed59f0dafc98713ca48d85aa1a7676203c16da6ae6f43563e499942648b7022ccd546e6e9ebcdee2898dc136121e9b4bccd889dd3519ce4f
|
7
|
+
data.tar.gz: f7f7c707ae55f1ac8433e9ac682f9cd39f6c44195f4403b70f0917e9957102c87f730bb8eab20fd241774e17b290be0eab7b81308881a87fd6a24ba544803c8c
|
data/CHANGELOG.md
CHANGED
data/ext/readapt/monitor.c
CHANGED
@@ -1,10 +1,13 @@
|
|
1
1
|
#include "ruby.h"
|
2
2
|
#include "ruby/debug.h"
|
3
3
|
#include "threads.h"
|
4
|
+
#include "normalize.h"
|
4
5
|
|
6
|
+
static VALUE readapt;
|
5
7
|
static VALUE m_Monitor;
|
6
8
|
static VALUE c_Snapshot;
|
7
9
|
|
10
|
+
static VALUE readapt;
|
8
11
|
static VALUE tpLine;
|
9
12
|
static VALUE tpCall;
|
10
13
|
static VALUE tpReturn;
|
@@ -112,10 +115,10 @@ process_line_event(VALUE tracepoint, void *data)
|
|
112
115
|
if (!firstLineEvent || threadPaused || knownBreakpoints || ptr->control != rb_intern("continue"))
|
113
116
|
{
|
114
117
|
tp = rb_tracearg_from_tracepoint(tracepoint);
|
115
|
-
tp_file = rb_tracearg_path(tp);
|
118
|
+
tp_file = normalize_path(rb_tracearg_path(tp));
|
116
119
|
tp_line = NUM2INT(rb_tracearg_lineno(tp));
|
117
120
|
|
118
|
-
dapEvent =
|
121
|
+
dapEvent = rb_intern("continue");
|
119
122
|
if (!firstLineEvent)
|
120
123
|
{
|
121
124
|
dapEvent = rb_intern("initialize");
|
@@ -136,7 +139,8 @@ process_line_event(VALUE tracepoint, void *data)
|
|
136
139
|
{
|
137
140
|
dapEvent = rb_intern("entry");
|
138
141
|
}
|
139
|
-
|
142
|
+
|
143
|
+
if (dapEvent != rb_intern("continue"))
|
140
144
|
{
|
141
145
|
result = monitor_debug(tp_file, tp_line, tracepoint, ptr, dapEvent);
|
142
146
|
if (dapEvent == rb_intern("initialize") && result == rb_intern("ready"))
|
@@ -146,6 +150,11 @@ process_line_event(VALUE tracepoint, void *data)
|
|
146
150
|
process_line_event(tracepoint, data);
|
147
151
|
}
|
148
152
|
}
|
153
|
+
else
|
154
|
+
{
|
155
|
+
ptr->prev_file = Qnil;
|
156
|
+
ptr->prev_line = Qnil;
|
157
|
+
}
|
149
158
|
}
|
150
159
|
else
|
151
160
|
{
|
@@ -304,6 +313,7 @@ monitor_know_breakpoints_s(VALUE self)
|
|
304
313
|
|
305
314
|
void initialize_monitor(VALUE m_Readapt)
|
306
315
|
{
|
316
|
+
readapt = m_Readapt;
|
307
317
|
m_Monitor = rb_define_module_under(m_Readapt, "Monitor");
|
308
318
|
c_Snapshot = rb_define_class_under(m_Readapt, "Snapshot", rb_cObject);
|
309
319
|
|
@@ -0,0 +1,54 @@
|
|
1
|
+
#include "ruby.h"
|
2
|
+
#include "ruby/debug.h"
|
3
|
+
|
4
|
+
static int isWindows;
|
5
|
+
|
6
|
+
static int
|
7
|
+
checkIfWindows()
|
8
|
+
{
|
9
|
+
VALUE regexp, result;
|
10
|
+
|
11
|
+
regexp = rb_reg_new("/cygwin|mswin|mingw|bccwin|wince|emx/", 37, 0);
|
12
|
+
result = rb_reg_match(regexp, rb_str_new_cstr(RUBY_PLATFORM));
|
13
|
+
return result == Qnil ? 0 : 1;
|
14
|
+
}
|
15
|
+
|
16
|
+
VALUE
|
17
|
+
normalize_path(VALUE str)
|
18
|
+
{
|
19
|
+
VALUE result;
|
20
|
+
char *buffer;
|
21
|
+
long i, len;
|
22
|
+
|
23
|
+
if (isWindows)
|
24
|
+
{
|
25
|
+
buffer = malloc((rb_str_strlen(str) + 1) * sizeof(char));
|
26
|
+
strcpy(buffer, StringValueCStr(str));
|
27
|
+
buffer[0] = toupper(buffer[0]);
|
28
|
+
len = strlen(buffer);
|
29
|
+
for (i = 2; i < len; i++)
|
30
|
+
{
|
31
|
+
if (buffer[i] == '\\')
|
32
|
+
{
|
33
|
+
buffer[i] = '/';
|
34
|
+
}
|
35
|
+
}
|
36
|
+
result = rb_str_new_cstr(buffer);
|
37
|
+
free(buffer);
|
38
|
+
return result;
|
39
|
+
}
|
40
|
+
return str;
|
41
|
+
}
|
42
|
+
|
43
|
+
static VALUE
|
44
|
+
normalize_path_s(VALUE self, VALUE str)
|
45
|
+
{
|
46
|
+
return normalize_path(str);
|
47
|
+
}
|
48
|
+
|
49
|
+
void initialize_normalize(VALUE m_Readapt)
|
50
|
+
{
|
51
|
+
isWindows = checkIfWindows();
|
52
|
+
|
53
|
+
rb_define_singleton_method(m_Readapt, "normalize_path", normalize_path_s, 1);
|
54
|
+
}
|
data/ext/readapt/readapt.c
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
#include "ruby.h"
|
2
2
|
#include "ruby/debug.h"
|
3
3
|
#include "monitor.h"
|
4
|
+
#include "normalize.h"
|
4
5
|
|
5
6
|
static VALUE m_Readapt;
|
6
7
|
|
@@ -8,5 +9,6 @@ void Init_readapt()
|
|
8
9
|
{
|
9
10
|
m_Readapt = rb_define_module("Readapt");
|
10
11
|
|
12
|
+
initialize_normalize(m_Readapt);
|
11
13
|
initialize_monitor(m_Readapt);
|
12
14
|
}
|
data/lib/readapt.rb
CHANGED
@@ -17,18 +17,4 @@ require 'readapt/readapt'
|
|
17
17
|
require 'readapt/shell'
|
18
18
|
|
19
19
|
module Readapt
|
20
|
-
class Error < StandardError; end
|
21
|
-
# Your code goes here...
|
22
|
-
end
|
23
|
-
|
24
|
-
Readapt.module_exec do
|
25
|
-
if (/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
|
26
|
-
define_singleton_method :normalize_path do |path|
|
27
|
-
path[0].upcase + path[1..-1].gsub('\\', '/')
|
28
|
-
end
|
29
|
-
else
|
30
|
-
define_singleton_method :normalize_path do |path|
|
31
|
-
path
|
32
|
-
end
|
33
|
-
end
|
34
20
|
end
|
data/lib/readapt/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: readapt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Snyder
|
@@ -119,6 +119,8 @@ files:
|
|
119
119
|
- ext/readapt/extconf.rb
|
120
120
|
- ext/readapt/monitor.c
|
121
121
|
- ext/readapt/monitor.h
|
122
|
+
- ext/readapt/normalize.c
|
123
|
+
- ext/readapt/normalize.h
|
122
124
|
- ext/readapt/readapt.c
|
123
125
|
- ext/readapt/threads.c
|
124
126
|
- ext/readapt/threads.h
|