[OPEN-ILS-DEV] PATCH: osrf_router.c (const-correctness)

Mike Rylander mrylander at gmail.com
Fri Apr 11 10:41:40 EDT 2008


On Sun, Mar 16, 2008 at 11:32 PM, Scott McKellar <mck9 at swbell.net> wrote:
> This patch applies the const qualifier to several variables, each of
>  them a copy of the "current" member of an osrfHashIterator.
>

Applied.

>  ---------------
>
>  While this patch is pretty inconsequential on its own, it is part of a
>  larger plan to streamline the use of osrfHashIterators.
>
>  The "current" member points to a dynamically allocated string.  Every
>  time we advance the iterator, we free the string and allocate another
>  one to replace it.
>
>  My plan is to reuse the buffer whenever possible so as to reduce the
>  churning of memory through malloc() and free().  This approach will
>  require an additional member to keep track of the current capacity of
>  the buffer, rather like the "size" member of a growing_buffer.
>
>  It will also require that all code using osrfHashIterators treat the
>  "current" member as read-only.  If somebody frees and replaces the
>  buffer outside of the proper interface, then buffer management will
>  get very confused.
>
>  I doubt that any code does anything so perfidious, but I'm going
>  through the files to make sure.  Adding the const qualifier is an
>  easy way not only to verify that nothing bad is happening, but also
>  to make it less likely that something bad will happen in the future.
>
>  Scott McKellar
>  http://home.swbell.net/mck9/ct/
>
>  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
 | VP, Research and Design
 | Equinox Software, Inc. / The Evergreen Experts
 | phone: 1-877-OPEN-ILS (673-6457)
 | email: miker at esilibrary.com
 | web: http://www.esilibrary.com


More information about the Open-ils-dev mailing list