[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