[OPEN-ILS-DEV] PATCH: transport_client.c (pedantic)
Mike Rylander
mrylander at gmail.com
Mon May 28 16:00:24 EDT 2007
Pedantry appreciated and patch applied.
On 5/27/07, Scott McKellar <mck9 at swbell.net> wrote:
> This patch is mostly pedantic.
>
> 1, I explicitly initialized two pointers to NULL. The current code
> does not initialize them at all, except that safe_malloc() fills them
> with binary zeros -- which is equivalent to NULL on most systems but
> not all.
>
> 2. I eliminated the casts on the return values from safe_malloc().
> Such casts clutter up the code to no purpose, and introduce a small
> but needless risk.
>
> The casts are not necessary because a void pointer may safely be
> converted, without a cast, to a pointer to any datatype. There
> may be alignment issues (though not in this case), but a cast does
> not solve that problem anyway.
>
> The casts are risky because, if a prototype or declaration for
> safe_malloc() is not in scope, the compiler will assume that this
> function returns an int rather than a void *. If there is no cast,
> the compiler will notice the type mismatch in the assignment and
> issue a diagnostic, thereby alerting you that you left out an
> #include. However if you include the cast, the compiler will
> silently perform a conversion that may not work on some
> architectures.
>
> Scott McKellar
> http://home.swbell.net/mck9/aargh/
>
> Developer's Certificate of Origin 1.1 By making a contribution to
> this project, I certify that:
>
> (a) The contribution was created in whole or in part by me and I
> have the right to submit it under the open source license indicated
> in the file; or
>
> (b) The contribution is based upon previous work that, to the best
> of my knowledge, is covered under an appropriate open source license
> and I have the right under that license to submit that work with
> modifications, whether created in whole or in part by me, under the
> same open source license (unless I am permitted to submit under a
> different license), as indicated in the file; or
>
> (c) The contribution was provided directly to me by some other person
> who certified (a), (b) or (c) and I have not modified it; and
>
> (d) In the case of each of (a), (b), or (c), I understand and agree
> that this project and the contribution are public and that a record
> of the contribution (including all personal information I submit
> with it, including my sign-off) is maintained indefinitely and may
> be redistributed consistent with this project or the open source
> license indicated in the file.
>
--
Mike Rylander
More information about the Open-ils-dev
mailing list