Re: [RFC PATCH 03/28] cli: lil: Replace strclone with strdup

Kostas Michalopoulos
2021-07-03T00:16:23Z

On 7/2/2021 4:38 PM, Sean Anderson wrote:
> I have not. I'm not sure what changes I've made are compatible with the
> vision he has for LIL. He's CC'd on this series, so perhaps he can
> comment.

Yeah, sadly several of the changes i've seen in the code are not
backwards compatible and backwards compatibility is very important for
me (this is also why the callback setup is done through a lil_callback
function instead of exposing a struct: adding new callbacks in the
future wont break any existing code or application that links to the
library dynamically). I might break it before a properly versioned
release is made at some point in the (not close) future, but that is
usually unavoidable changes to fix big issues (all cases where that
happened are mentioned in the site).

In terms of future changes, i do not plan making any *big* changes - and
certainly anything i'll make it'll be backwards compatible (especially
after a versioned release) but one thing that i need to do is to improve
the interpreter's performance, which will affect its internals - two
areas i might need to change are how values are represented (everything
is a string -and things must always behave like that- but i may need to
cache already parsed non-string values) and how the code itself -e.g. in
functions- is represented.

Also i'll most likely add more functions to the library to expose and
alter internal state (the Free Pascal version of LIL already has some of
that), but that shouldn't affect much internally.

Beyond that it will be mainly bugfixes - like a use-after-free case with
"reflect this" i just fixed and uploaded :-P

Kostas