Uploaded image for project: 'Lucy'
  1. Lucy
  2. LUCY-68

Simplify Charmonizer internal string handling

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • None
    • None
    • Charmonizer
    • None

    Description

      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.

      Attachments

        1. string_handling.diff
          24 kB
          Marvin Humphrey

        Activity

          People

            marvin Marvin Humphrey
            marvin Marvin Humphrey
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment