From: Eric Blake <eblake@redhat.com>
To: Joel Schopp <jschopp@linux.vnet.ibm.com>
Cc: Michael Tsirkin <mst@redhat.com>,
qemu-devel@nongnu.org, Stefan Berger <stefanb@linux.vnet.ibm.com>
Subject: Re: [Qemu-devel] [PATCH 6/9] asn1_output-visitor.diff
Date: Wed, 13 Mar 2013 14:46:34 -0600 [thread overview]
Message-ID: <5140E5AA.3000904@redhat.com> (raw)
In-Reply-To: <1363144182-1016-7-git-send-email-jschopp@linux.vnet.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 2060 bytes --]
On 03/12/2013 09:09 PM, Joel Schopp wrote:
> Implement an output visitor for ASN.1 BER encoding.
>
> Cc: Michael Tsirkin <mst@redhat.com>
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> Signed-off-by: Joel Schopp <jschopp@linux.vnet.ibm.com>
> ---
> +++ b/include/qapi/ber-output-visitor.h
> @@ -0,0 +1,28 @@
> +/*
> + * BER Output Visitor header
> + *
> + * Copyright IBM, Corp. 2011
It's 2013.
> +static unsigned int ber_encode_len(uint8_t *buffer, uint32_t buflen,
> + uint64_t len, Error **errp)
> +{
> + uint64_t mask = 0xFF00000000000000ULL;
> + int shift = 64 - 8;
> + int c = 0;
> +
> + if (len <= 0x7f && buflen >= 1) {
> + buffer[0] = len;
> + return 1;
> + }
> +
> + while (mask && (mask & len) == 0) {
> + mask >>= 8;
> + shift -= 8;
> + }
> +
> + while (shift >= 0) {
> + if (1 + c + 1 > buflen) {
> + error_set(errp, QERR_BUFFER_OVERRUN);
> + return 0;
> + }
> + buffer[1+c] = (len >> shift);
Space around binary operators.
> +
> + if (maxnumbytes > 1) {
> + exp_zeros = ((mask & val) == 0) ? true : false;
I'm not a fan of 'bool expr ? true : false', when just 'bool expr' will do.
> + while (mask != 0xFF) {
> + if (exp_zeros) {
> + if ((mask & val) != 0) {
> + break;
> + }
> + } else {
> + if ((mask & val) != mask) {
> + break;
> + }
> + }
> + shift -= 8;
> + mask >>= 8;
> + }
> + }
> +
> + while (shift >= 0) {
> + buf[2+c] = (val >> shift);
Another case of spaces around binary operator (I didn't look closely, so
you may want to scrub the entire patch for more instances than what I
saw on a casual quick read)
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
next prev parent reply other threads:[~2013-03-13 20:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-13 3:09 [Qemu-devel] [PATCH 0/9 v2] Implement and test asn1 ber visitors Joel Schopp
2013-03-13 3:09 ` [Qemu-devel] [PATCH 1/9] qemu-file Joel Schopp
2013-03-13 3:09 ` [Qemu-devel] [PATCH 2/9] qapi_c_arrays.diff Joel Schopp
2013-03-13 12:08 ` Eric Blake
2013-03-13 3:09 ` [Qemu-devel] [PATCH 3/9] two new file wrappers Joel Schopp
2013-03-13 3:09 ` [Qemu-devel] [PATCH 4/9] qemu_qsb.diff Joel Schopp
2013-03-13 3:09 ` [Qemu-devel] [PATCH 5/9] qapi_sized_buffer Joel Schopp
2013-03-13 3:09 ` [Qemu-devel] [PATCH 6/9] asn1_output-visitor.diff Joel Schopp
2013-03-13 20:46 ` Eric Blake [this message]
2013-03-13 3:09 ` [Qemu-devel] [PATCH 7/9] asn1_input-visitor.diff Joel Schopp
2013-03-13 20:51 ` Eric Blake
2013-03-13 21:20 ` Stefan Berger
2013-03-14 1:22 ` Joel Schopp
2013-03-14 1:53 ` Stefan Berger
2013-03-13 3:09 ` [Qemu-devel] [PATCH 8/9] asn1_test_visitor_serialization.diff Joel Schopp
2013-03-13 3:09 ` [Qemu-devel] [PATCH 9/9] update_maintainers.diff Joel Schopp
2013-03-13 20:53 ` Eric Blake
-- strict thread matches above, loose matches on Subject: below --
2013-03-13 18:56 [Qemu-devel] [PATCH 0/9 v3] Implement and test asn1 ber visitors Joel Schopp
2013-03-13 18:56 ` [Qemu-devel] [PATCH 6/9] asn1_output-visitor.diff Joel Schopp
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5140E5AA.3000904@redhat.com \
--to=eblake@redhat.com \
--cc=jschopp@linux.vnet.ibm.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanb@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.