On Mon, 17 Jun 2019 10:26:13 +0200 Vincent Torri <[email protected]> said:

> On Mon, Jun 17, 2019 at 10:10 AM Carsten Haitzler <[email protected]>
> wrote:
> >
> >
> >
> > > Hello
> > >
> > > I want to make Evil completely private (it seems that currently, it is
> > > possible), but the examples need functions /macro that do not exist on
> > > Windows. Namely (for now) :
> > >
> > > edje/edje-text.c line 57 : setenv
> > > edje/edje-textblock-hyphenation.c line 85 : LC_MESSAGES
> > >
> > > Note that, on Windows, the equivalent of setenv() is _putenv()
> > >
> > > I can include evil_private.h in these examples. Is it ok for everyone
> > > ? Or should I export setenv and LC_MESSAGES in Evil.h (and maybe other
> > > stuff ?
> >
> > Xavi said this already -> if you want evil to be private, then you can't go
> > using it in public examples. setenv() already is an issue as I've found it
> > to be unportable between unixes in the past. putenv() is portable, BUT has
> > the nasty issue of using the VAR=val pointer directly in the env and thus
> > becoming an ownership and lifetime nightmare.
> 
> maybe we can add an API in eina, but having an #ifdef in the examples
> for seenv/putenv is not a pb for me
> 
> > Luckily... ecore efl now has EFL api's for dealing with env vars ... so this
> > becomes a problem for legacy. I'd advise to just use putenv() but kep in
> > mind you can't just free the string buffer after the putenv(). It must stay
> > valid and be around...  I can fix these example. They will get uglier with
> > putenv(), but... that's life. mingw32 should provide a putenv() (not
> > _putenv())... right?
> 
> yes, putenv() is available in mingw-w64 and is working (I did a test
> with putenv("FOO=1"); which returns 0).

ok. will change it to putenv then

> > Now what about setlocale + LC_MESSAGES? LC_ALL will do? it is just an
> > example. I am assuming people will just using MinGW32 when on Windows
> > anyway...
> 
> LC_MESSAGES is a bigger problem. setlocale exists but without
> LC_MESSAGES support. LC_ALL is available, though :

ok. that'll work for the purposes of this example. i'll fix it.

> https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/setlocale-wsetlocale?view=vs-2019
> 
> Vincent
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - [email protected]



_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to