ruby-gpgme 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- data/gpgme_n.c +25 -0
- metadata +2 -2
data/gpgme_n.c
CHANGED
@@ -220,6 +220,11 @@ rb_s_gpgme_data_new (VALUE dummy, VALUE rdh)
|
|
220
220
|
gpgme_data_t dh;
|
221
221
|
gpgme_error_t err = gpgme_data_new (&dh);
|
222
222
|
|
223
|
+
if (gpgme_err_code(err) == GPG_ERR_ENOMEM)
|
224
|
+
{
|
225
|
+
rb_gc ();
|
226
|
+
err = gpgme_data_new (&dh);
|
227
|
+
}
|
223
228
|
if (gpgme_err_code(err) == GPG_ERR_NO_ERROR)
|
224
229
|
rb_ary_store (rdh, 0, WRAP_GPGME_DATA(dh));
|
225
230
|
return LONG2NUM(err);
|
@@ -238,6 +243,11 @@ rb_s_gpgme_data_new_from_mem (VALUE dummy, VALUE rdh, VALUE vbuffer,
|
|
238
243
|
rb_raise (rb_eArgError, "argument out of range");
|
239
244
|
|
240
245
|
err = gpgme_data_new_from_mem (&dh, StringValuePtr(vbuffer), size, 1);
|
246
|
+
if (gpgme_err_code(err) == GPG_ERR_ENOMEM)
|
247
|
+
{
|
248
|
+
rb_gc ();
|
249
|
+
err = gpgme_data_new_from_mem (&dh, StringValuePtr(vbuffer), size, 1);
|
250
|
+
}
|
241
251
|
if (gpgme_err_code(err) == GPG_ERR_NO_ERROR)
|
242
252
|
{
|
243
253
|
vdh = WRAP_GPGME_DATA(dh);
|
@@ -251,6 +261,11 @@ rb_s_gpgme_data_new_from_fd (VALUE dummy, VALUE rdh, VALUE vfd)
|
|
251
261
|
{
|
252
262
|
gpgme_data_t dh;
|
253
263
|
gpgme_error_t err = gpgme_data_new_from_fd (&dh, NUM2INT(vfd));
|
264
|
+
if (gpgme_err_code(err) == GPG_ERR_ENOMEM)
|
265
|
+
{
|
266
|
+
rb_gc ();
|
267
|
+
err = gpgme_data_new_from_fd (&dh, NUM2INT(vfd));
|
268
|
+
}
|
254
269
|
if (gpgme_err_code(err) == GPG_ERR_NO_ERROR)
|
255
270
|
rb_ary_store (rdh, 0, WRAP_GPGME_DATA(dh));
|
256
271
|
return LONG2NUM(err);
|
@@ -325,6 +340,11 @@ rb_s_gpgme_data_new_from_cbs (VALUE dummy, VALUE rdh, VALUE vcbs,
|
|
325
340
|
rb_ary_push (vcbs_handle, vhandle);
|
326
341
|
|
327
342
|
err = gpgme_data_new_from_cbs (&dh, &cbs, (void*)vcbs_handle);
|
343
|
+
if (gpgme_err_code(err) == GPG_ERR_ENOMEM)
|
344
|
+
{
|
345
|
+
rb_gc ();
|
346
|
+
err = gpgme_data_new_from_cbs (&dh, &cbs, (void*)vcbs_handle);
|
347
|
+
}
|
328
348
|
if (gpgme_err_code(err) == GPG_ERR_NO_ERROR)
|
329
349
|
{
|
330
350
|
VALUE vdh = WRAP_GPGME_DATA(dh);
|
@@ -409,6 +429,11 @@ rb_s_gpgme_new (VALUE dummy, VALUE rctx)
|
|
409
429
|
gpgme_ctx_t ctx;
|
410
430
|
gpgme_error_t err = gpgme_new (&ctx);
|
411
431
|
|
432
|
+
if (gpgme_err_code(err) == GPG_ERR_ENOMEM)
|
433
|
+
{
|
434
|
+
rb_gc ();
|
435
|
+
err = gpgme_new (&ctx);
|
436
|
+
}
|
412
437
|
if (gpgme_err_code(err) == GPG_ERR_NO_ERROR)
|
413
438
|
rb_ary_store (rctx, 0, WRAP_GPGME_CTX(ctx));
|
414
439
|
return LONG2NUM(err);
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-gpgme
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daiki Ueno
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-02-09 00:00:00 +09:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|