sdbm 0.0.1 → 1.0.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 61716e1eab009e59d62ba6e6b41a5cf680e8d727
4
- data.tar.gz: e812e9941b62ae4387e5be14a8719a6798caa166
2
+ SHA256:
3
+ metadata.gz: '081d57660dd60ed30d2cae09012534fc6d30e35b1cccb3347a7b4da3a83fcbba'
4
+ data.tar.gz: 15c064a52268ec708a2edbebfc2e1d347dacd9040320076e66ea8b1f7c451307
5
5
  SHA512:
6
- metadata.gz: 6fd74cd6cab2313e01874652def5447ec872df28cdb367ab75bed2ad5196004196cec332f926972bbd8ddf7839be80eb845876f852bfaf7b48d34b49817a3185
7
- data.tar.gz: a35d46a90ed779440de431a5669f9d570cac13e05aaa4e01171029f57c56c2694aca5cdbac981a49006548cb07f55507cd00526b45e6cd2eb627aada88ad8c73
6
+ metadata.gz: dfc76b80abbdf72afe264d13d526212a2ee2d6522f160100089ead9048a0903ba16dc537887936e9227390ac2e0b04c1e40b475e1deecdfd2f1ed4f641abf3a2
7
+ data.tar.gz: 332e9da9cf41f4b2fa716d114355ac170ca69bc85939984c88e60c6396e93a523ed7ce8655c66f4af723304203a2e2a896830269f302b5208408be9c4bd82f32
@@ -176,24 +176,24 @@ sdbm_open(register char *file, register int flags, register int mode)
176
176
  static int
177
177
  fd_set_cloexec(int fd)
178
178
  {
179
- /* MinGW don't have F_GETFD and FD_CLOEXEC. [ruby-core:40281] */
179
+ /* MinGW don't have F_GETFD and FD_CLOEXEC. [ruby-core:40281] */
180
180
  #ifdef F_GETFD
181
- int flags, ret;
182
- flags = fcntl(fd, F_GETFD); /* should not fail except EBADF. */
183
- if (flags == -1) {
184
- return -1;
185
- }
186
- if (2 < fd) {
187
- if (!(flags & FD_CLOEXEC)) {
188
- flags |= FD_CLOEXEC;
189
- ret = fcntl(fd, F_SETFD, flags);
190
- if (ret == -1) {
191
- return -1;
192
- }
193
- }
194
- }
181
+ int flags, ret;
182
+ flags = fcntl(fd, F_GETFD); /* should not fail except EBADF. */
183
+ if (flags == -1) {
184
+ return -1;
185
+ }
186
+ if (2 < fd) {
187
+ if (!(flags & FD_CLOEXEC)) {
188
+ flags |= FD_CLOEXEC;
189
+ ret = fcntl(fd, F_SETFD, flags);
190
+ if (ret == -1) {
191
+ return -1;
192
+ }
193
+ }
194
+ }
195
195
  #endif
196
- return 0;
196
+ return 0;
197
197
  }
198
198
 
199
199
  DBM *
@@ -400,20 +400,20 @@ makroom(register DBM *db, long int hash, int need)
400
400
  */
401
401
 
402
402
  #if defined _WIN32
403
- /*
404
- * Fill hole with 0 if made it.
405
- * (hole is NOT read as 0)
406
- */
407
- oldtail = lseek(db->pagf, 0L, SEEK_END);
408
- memset(zer, 0, PBLKSIZ);
409
- while (OFF_PAG(newp) > oldtail) {
410
- if (lseek(db->pagf, 0L, SEEK_END) < 0 ||
411
- write(db->pagf, zer, PBLKSIZ) < 0) {
403
+ /*
404
+ * Fill hole with 0 if made it.
405
+ * (hole is NOT read as 0)
406
+ */
407
+ oldtail = lseek(db->pagf, 0L, SEEK_END);
408
+ memset(zer, 0, PBLKSIZ);
409
+ while (OFF_PAG(newp) > oldtail) {
410
+ if (lseek(db->pagf, 0L, SEEK_END) < 0 ||
411
+ write(db->pagf, zer, PBLKSIZ) < 0) {
412
412
 
413
- return 0;
413
+ return 0;
414
+ }
415
+ oldtail += PBLKSIZ;
414
416
  }
415
- oldtail += PBLKSIZ;
416
- }
417
417
  #endif
418
418
 
419
419
  if (hash & (db->hmask + 1)) {
@@ -79,7 +79,6 @@ closed_sdbm(void)
79
79
 
80
80
  #define GetDBM(obj, dbmp) do {\
81
81
  TypedData_Get_Struct((obj), struct dbmdata, &sdbm_type, (dbmp));\
82
- if ((dbmp) == 0) closed_sdbm();\
83
82
  if ((dbmp)->di_dbm == 0) closed_sdbm();\
84
83
  } while (0)
85
84
 
@@ -100,12 +99,10 @@ free_sdbm(void *ptr)
100
99
  static size_t
101
100
  memsize_dbm(const void *ptr)
102
101
  {
103
- size_t size = 0;
104
102
  const struct dbmdata *dbmp = ptr;
105
- if (dbmp) {
106
- size += sizeof(*dbmp);
107
- if (dbmp->di_dbm) size += sizeof(DBM);
108
- }
103
+ size_t size = sizeof(*dbmp);
104
+ if (dbmp->di_dbm)
105
+ size += sizeof(DBM);
109
106
  return size;
110
107
  }
111
108
 
@@ -148,8 +145,6 @@ fsdbm_closed(VALUE obj)
148
145
  struct dbmdata *dbmp;
149
146
 
150
147
  TypedData_Get_Struct(obj, struct dbmdata, &sdbm_type, dbmp);
151
- if (dbmp == 0)
152
- return Qtrue;
153
148
  if (dbmp->di_dbm == 0)
154
149
  return Qtrue;
155
150
 
@@ -159,7 +154,9 @@ fsdbm_closed(VALUE obj)
159
154
  static VALUE
160
155
  fsdbm_alloc(VALUE klass)
161
156
  {
162
- return TypedData_Wrap_Struct(klass, &sdbm_type, 0);
157
+ struct dbmdata *dbmp;
158
+
159
+ return TypedData_Make_Struct(klass, struct dbmdata, &sdbm_type, dbmp);
163
160
  }
164
161
  /*
165
162
  * call-seq:
@@ -184,6 +181,7 @@ fsdbm_initialize(int argc, VALUE *argv, VALUE obj)
184
181
  struct dbmdata *dbmp;
185
182
  int mode;
186
183
 
184
+ TypedData_Get_Struct(obj, struct dbmdata, &sdbm_type, dbmp);
187
185
  if (rb_scan_args(argc, argv, "11", &file, &vmode) == 1) {
188
186
  mode = 0666; /* default value */
189
187
  }
@@ -208,8 +206,8 @@ fsdbm_initialize(int argc, VALUE *argv, VALUE obj)
208
206
  rb_sys_fail_str(file);
209
207
  }
210
208
 
211
- dbmp = ALLOC(struct dbmdata);
212
- DATA_PTR(obj) = dbmp;
209
+ if (dbmp->di_dbm)
210
+ sdbm_close(dbmp->di_dbm);
213
211
  dbmp->di_dbm = dbm;
214
212
  dbmp->di_size = -1;
215
213
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdbm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yukihiro Matsumoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-28 00:00:00.000000000 Z
11
+ date: 2017-12-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: test-unit
@@ -47,11 +47,10 @@ extensions:
47
47
  extra_rdoc_files: []
48
48
  files:
49
49
  - ext/sdbm/_sdbm.c
50
- - ext/sdbm/depend
51
50
  - ext/sdbm/extconf.rb
52
51
  - ext/sdbm/init.c
53
52
  - ext/sdbm/sdbm.h
54
- homepage: https://www.ruby-lang.org
53
+ homepage: https://github.com/ruby/sdbm
55
54
  licenses:
56
55
  - BSD-2-Clause
57
56
  metadata: {}
@@ -63,7 +62,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
63
62
  requirements:
64
63
  - - ">="
65
64
  - !ruby/object:Gem::Version
66
- version: 2.5.0dev
65
+ version: 2.3.0
67
66
  required_rubygems_version: !ruby/object:Gem::Requirement
68
67
  requirements:
69
68
  - - ">="
@@ -71,7 +70,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
71
70
  version: '0'
72
71
  requirements: []
73
72
  rubyforge_project:
74
- rubygems_version: 2.6.11
73
+ rubygems_version: 2.7.3
75
74
  signing_key:
76
75
  specification_version: 4
77
76
  summary: Provides a simple file-based key-value store with String keys and values.
@@ -1,25 +0,0 @@
1
- # AUTOGENERATED DEPENDENCIES START
2
- _sdbm.o: $(RUBY_EXTCONF_H)
3
- _sdbm.o: $(arch_hdrdir)/ruby/config.h
4
- _sdbm.o: $(hdrdir)/ruby/backward.h
5
- _sdbm.o: $(hdrdir)/ruby/defines.h
6
- _sdbm.o: $(hdrdir)/ruby/intern.h
7
- _sdbm.o: $(hdrdir)/ruby/missing.h
8
- _sdbm.o: $(hdrdir)/ruby/ruby.h
9
- _sdbm.o: $(hdrdir)/ruby/st.h
10
- _sdbm.o: $(hdrdir)/ruby/subst.h
11
- _sdbm.o: _sdbm.c
12
- _sdbm.o: sdbm.h
13
- init.o: $(RUBY_EXTCONF_H)
14
- init.o: $(arch_hdrdir)/ruby/config.h
15
- init.o: $(hdrdir)/ruby/backward.h
16
- init.o: $(hdrdir)/ruby/defines.h
17
- init.o: $(hdrdir)/ruby/intern.h
18
- init.o: $(hdrdir)/ruby/missing.h
19
- init.o: $(hdrdir)/ruby/ruby.h
20
- init.o: $(hdrdir)/ruby/st.h
21
- init.o: $(hdrdir)/ruby/subst.h
22
- # init.o: $(top_srcdir)/include/ruby.h
23
- init.o: init.c
24
- init.o: sdbm.h
25
- # AUTOGENERATED DEPENDENCIES END