libmicrohttpd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libmicrohttpd] Remove PlibC from autotools files


From: LRN
Subject: Re: [libmicrohttpd] Remove PlibC from autotools files
Date: Wed, 07 Aug 2013 12:43:25 +0400
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:25.0) Gecko/20100101 Thunderbird/25.0a1

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07.08.2013 12:17, Christian Grothoff wrote:
> On 08/07/13 09:34, LRN wrote:
>> On 07.08.2013 10:22, address@hidden wrote:
>>> Author: grothoff
>>> Date: 2013-08-07 08:22:16 +0200 (Wed, 07 Aug 2013)
>>> New Revision: 28426
>>>
>>> Modified:
>>>     libmicrohttpd/configure.ac
>>>     libmicrohttpd/doc/examples/Makefile.am
>>>     libmicrohttpd/src/examples/Makefile.am
>>>     libmicrohttpd/src/include/Makefile.am
>>>     libmicrohttpd/src/microhttpd/Makefile.am
>>>     libmicrohttpd/src/testcurl/Makefile.am
>>>     libmicrohttpd/src/testcurl/https/Makefile.am
>>>     libmicrohttpd/src/testzzuf/Makefile.am
>>> Log:
>>> Part 1 of 2 - Remove PlibC from autotools files.
>>>
>> 
>> So THAT is your solution? Just drop plibc completely?
>> 
>>
> 
> Well, I was told by Michael Cronenworth that the result still builds and 
> works on W32.  I was about to ask you to confirm that it still
> works for you.  If it does and we thus truly don't need PlibC anymore
> (at least not for MHD) then I'd say it's a great solution.  If there is 
> a real problem with this, then we'll simply revert to before the patches.
> 

PLibc does a few things.
Until yesterday, it provided a compliant printf/scanf implementation.
Well, now it doesn't (on my machine).

Also, it provides:
* ctime() and ctime_r() that work on W32
* Utility functions for converting W32 error codes to errno values
* flock() that works on W32 (never tested that one though)
* gmtime_r() that works on W32 (borrowed from GNU libc)
* hsearch() and hsearch_r()
* inet_ntop() and inet_pton() that work on any version of Windows (not
just Vista and later)
* kill() that works on W32 somewhat (only for process termination)
* partial nl_langinfo() implementation for W32
* lsearch() and lfind()
* mkstemp ()
* mmap () and munmap() that work on W32 somewhat (not very
POSIX-compliant though)
* some not-very-good pipe() and mkfifo() implementations
* string conversion (utf-8 to local and back) functions that do not
depend on libiconv (W32-only, obviously)
* rudimental symlink support (using shortcuts, ugh!) and realpath()
implementation based on that
* getaddrinfo(), getnameinfo() and freeaddrinfo(), apparently
independent of Windows version
* statfs() that works on W32 (with obvious limitations)
* a (presumably) fast strcasestr() implementation
* a strerror() implementation
* strndup() and strnlen() for W32 (well, for mingw.org; mingw-w64 has
strnlen for sure; not sure about strndup())
* strptime() from GNU libc
* tsearch()
* rudimental POSIX path support (knows how to expand ~, /tmp, /dev/null,
/etc, /com, /var and any /-starting path, infers root directory from dll
path or from a special registry value - i don't like it, but it's a
valid implementation)

And most importantly:
* utf-8 everywhere
* single integer fd space and select() that works with it (the integer
fd space is prone to conflicts though, and select() is suboptimal. IMO,
this is the weakest part of plibc)

Does any of that apply to libmicrohttpd? I did notice that you've bumped
minimal W32 version to Vista, sidestepping the inet_{ntop,pton}()
problem. What about utf-8? Does MHD use open, close, readdir on disk files?
The select thing is probably the worst (if you compare to GNUnet
implementation), but also the most useful for MHD. Without it you won't
be able to select on sockets and pipes in one call.

- -- 
O< ascii ribbon - stop html email! - www.asciiribbon.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)

iQEcBAEBAgAGBQJSAgiqAAoJEOs4Jb6SI2CwtdcH/A7pU6p/9l1jgfP33xEvP3kQ
uoBtENJoF3HRypYjmUQWw2W5b+JHq46JaIdKTpYrslmwNw/tRGixtFTQ0Rib6BvL
KL0Dg7oy54SMpDaxGiywJ7/xczm9jEtw7gPfspmVVchOcY/VFeFZjSTfqPZEruvj
v6d4iYm2pEEWEx8F7nVxKYJjp+UoLRHcH5zFXKh82SJ9OyqYivhhCuvA/NBsft6I
T2ZuIESjfQ3TeTs4zMk8cZPHDPbasQazfLV3d8INPTuyo7E53gdRrO8aXMi9veuK
7/M1JdsidUDtTQrUfA8khDhfZy4rzFd/Fzjy0idmmgLyro5Sdm2yTFdYZIlN+os=
=dA4S
-----END PGP SIGNATURE-----



reply via email to

[Prev in Thread] Current Thread [Next in Thread]