efficient_join 2.1.3 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5901b92dc6e259cbf76193da6107a3c3dde02c6dddcf66812e9d449322eae6fc
4
- data.tar.gz: d9f11fbf636346979abc3654cdfb1e7518b9891532732905404ab2ca08e4617c
3
+ metadata.gz: d76d30fa5be5263c9d28faa2cb320dc4a3c61d9baf1fbefcc7cab69564bdc1cf
4
+ data.tar.gz: 7f4a5598aa3ed81761842bdaf0f92614c33108ecda16617453284fee1e4848d0
5
5
  SHA512:
6
- metadata.gz: f7d39e4ad25fb936ab6213e8d582f2bd9fd3e2a53bf7f24c33452839e473dc984773b8998d880db1a89d602ddd4fc9d45e47eafc39d202b579fad234a2231b8a
7
- data.tar.gz: 0c90ce377ad5ed1bd0483cdaaef14702bd743005052833d120f9c813445ff2b92fbfdd204aed18c0576e8b05fb359e6b1e3515b3a9fbdf43c5d35ea12548e85f
6
+ metadata.gz: f546d93a65ee3158bc1ff764d6b9af90b37250ce25eff8dbc44928720a48eee0b7a3c1a3606efd809fddea0fe6e0df205b224e11114f135ddf8f065aa60fea44
7
+ data.tar.gz: b76e0dd48ba2100e0d2903852ded4242a2adcebec7273b8c6ac72d1c9c87f1e91c6cccee5a45063c1b4a81b0231c4a1566285cd3a4214bec2a2a9cb9ec9b2378
@@ -18,15 +18,15 @@ static void strbuf_free(struct strbuf_t *strbuf) {
18
18
  free(strbuf->buf);
19
19
  }
20
20
 
21
- static inline void strbuf_expand(struct strbuf_t *strbuf) {
22
- strbuf->buf = (char *)realloc(strbuf->buf, strbuf->len * 2);
21
+ static inline void strbuf_expand(struct strbuf_t *strbuf, size_t min_size) {
22
+ strbuf->buf = (char *)realloc(strbuf->buf, min_size > strbuf->len * 2 ? min_size : strbuf->len * 2);
23
23
  strbuf->len *= 2;
24
24
  }
25
25
 
26
26
  static inline void strbuf_write_str(struct strbuf_t *strbuf, const char *str, size_t len)
27
27
  {
28
28
  if (strbuf->len < strbuf->pos + len) {
29
- strbuf_expand(strbuf);
29
+ strbuf_expand(strbuf, strbuf->pos + len);
30
30
  }
31
31
 
32
32
  memcpy(strbuf->buf + strbuf->pos, str, len);
@@ -39,7 +39,7 @@ static inline void strbuf_write_int64(struct strbuf_t *strbuf, int64_t value)
39
39
 
40
40
  // 22: maximum length of string representation of 64-bit int
41
41
  if (strbuf->len <= strbuf->pos + 22) {
42
- strbuf_expand(strbuf);
42
+ strbuf_expand(strbuf, strbuf->pos + 22);
43
43
  }
44
44
 
45
45
  bytes_written = snprintf(strbuf->buf + strbuf->pos, 22, "%ld", value);
@@ -1,3 +1,3 @@
1
1
  module EfficientJoin
2
- VERSION = "2.1.3"
2
+ VERSION = "2.1.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: efficient_join
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Morton