core: Non-zero values should set _armor, _textmode, and _online.

* src/gpgme.c (gpgme_set_armor, gpgme_set_textmode,
gpgme_set_offline): Ensure that non-zero values actually set the
appropriate internal bit.

--

The documentation for these functions says things like "disabled if
YES is zero, and enabled otherwise", where YES is an integer.
However, if you pass an even integer, it will be aliased back to 0
because the context member variables are declared as single bits.

This should make the implementation match the documentation.

Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
This commit is contained in:
Daniel Kahn Gillmor 2016-11-10 15:47:48 -08:00 committed by Werner Koch
parent 05775b5248
commit da035768bd
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B

View File

@ -504,7 +504,7 @@ gpgme_set_armor (gpgme_ctx_t ctx, int use_armor)
if (!ctx)
return;
ctx->use_armor = use_armor;
ctx->use_armor = !!use_armor;
}
@ -531,7 +531,7 @@ gpgme_set_textmode (gpgme_ctx_t ctx, int use_textmode)
if (!ctx)
return;
ctx->use_textmode = use_textmode;
ctx->use_textmode = !!use_textmode;
}
/* Return the state of the textmode flag. */
@ -555,7 +555,7 @@ gpgme_set_offline (gpgme_ctx_t ctx, int offline)
if (!ctx)
return;
ctx->offline = offline;
ctx->offline = !!offline;
}
/* Return the state of the offline flag. */