alt_printf 0.2.0 → 0.2.1
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/ext/alt_printf/fmt.c +16 -4
- data/ext/alt_printf/parsef.c +0 -2
- data/ext/alt_printf/syntax.h +2 -0
- data/lib/alt_printf/alt_printf.so +0 -0
- data/lib/alt_printf/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef60a8fd93c32deac84199e5e100931395b49b9ca9607b0f7bb2f85c33053336
|
4
|
+
data.tar.gz: 3493d175317701758435c9df33f132929002ec4849e3947dfcbd61fa64adb14d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 928750fe556edaedad637b9157fbd7c32e5c14e5c6c9b0ac63b36b81440ae9d8b95655506fcc5f2d645fdf1cc4965fff469f854bb4f749fdbcbc8dba975a28e3
|
7
|
+
data.tar.gz: 4a5d4ef54fa8e96700c1c2ebb10c392d8668e2f67aed657ea771c47a5806e256769d1c1bc605f3c607b74b3a07e98daadbb189df9c6bc5b26a656784b5c2ea2a
|
data/ext/alt_printf/fmt.c
CHANGED
@@ -30,12 +30,22 @@ void fmt_tern(struct strbuf *sb, struct fmte *f) {
|
|
30
30
|
|
31
31
|
wchar_t process_escape_seq(wchar_t seq) {
|
32
32
|
switch (seq) {
|
33
|
-
case FS_ESC:
|
34
|
-
return FS_ESC;
|
35
33
|
case FS_ESC_NL:
|
36
34
|
return L'\n';
|
37
35
|
case FS_ESC_ESC:
|
38
36
|
return L'\e';
|
37
|
+
case 'a':
|
38
|
+
return L'\a';
|
39
|
+
case 'b':
|
40
|
+
return L'\b';
|
41
|
+
case 'f':
|
42
|
+
return L'\f';
|
43
|
+
case 'r':
|
44
|
+
return L'\r';
|
45
|
+
case 't':
|
46
|
+
return L'\t';
|
47
|
+
case 'v':
|
48
|
+
return L'\v';
|
39
49
|
default:
|
40
50
|
return seq;
|
41
51
|
}
|
@@ -49,11 +59,13 @@ void fmt_raw(struct strbuf *sb, struct fmte *f) {
|
|
49
59
|
p = f->parenarg_start;
|
50
60
|
i = f->parenarg_len;
|
51
61
|
|
52
|
-
for (; i >
|
53
|
-
|
62
|
+
for (; i > 0; i--) {
|
63
|
+
LOG("p is '%lc' (%ld)\n", (wint_t)*p, (long)*p);
|
64
|
+
c = (i > 1 && *p == FS_ESC) ? process_escape_seq(*++p) : *p;
|
54
65
|
|
55
66
|
strbuf_append(sb, c);
|
56
67
|
p++;
|
68
|
+
if (*p == EOS) break;
|
57
69
|
}
|
58
70
|
}
|
59
71
|
|
data/ext/alt_printf/parsef.c
CHANGED
data/ext/alt_printf/syntax.h
CHANGED
Binary file
|
data/lib/alt_printf/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alt_printf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stone Tickle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake-compiler
|