[
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.