[ 
https://issues.apache.org/jira/browse/LUCY-68?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Marvin Humphrey updated LUCY-68:
--------------------------------

    Attachment: string_handling.diff

I committed string_handling.diff as r883210.  It removes most of the string
handling functions that were in Charmonizer/Core/Util and replaces them with
local use of malloc(), free() and sprintf().  

> Simplify Charmonizer internal string handling
> ---------------------------------------------
>
>                 Key: LUCY-68
>                 URL: https://issues.apache.org/jira/browse/LUCY-68
>             Project: Lucy
>          Issue Type: Improvement
>          Components: Charmonizer
>            Reporter: Marvin Humphrey
>            Assignee: Marvin Humphrey
>            Priority: Minor
>         Attachments: string_handling.diff
>
>
> Charmonizer's string handling utilities were originally set up so that buffer
> lengths were passed around with every char*, and so that NULLs could be
> embedded in strings without problems.  This was misguided, because Charmonizer
> does not deal with untrusted user data, and there are as yet no cases where
> Charmonizer has needed to embed NULLs on its own.
> As a side effect of the implementation, Charmonizer is relatively efficient
> when it comes to memory allocation -- which is of course completely worthless
> in the context of launching external compilation processes.
> The goal will be to replace the current system with more idiomatic C
> NULL-terminated strings, and throw string-handling efficiency concerns to the
> winds in pursuit of code clarity.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to