Bruno Haible <[EMAIL PROTECTED]> writes: > - argp: Either decide that argp should be GPL, or rework the 2006-01-21 > patch to lib/argp-namefrob.h so that it doesn't use dirname any more,
argp-namefrob.h doesn't use dirname if you define GNULIB_ARGP_DISABLE_DIRNAME or GNULIB_ARGP_EXTERN_BASENAME. Perhaps the LGPL users can do one or the other? We could then remove dirname from the Depends-on. It's a bit of a hack, but it'd work. Or if they need a third possibility we could add that. > - euidaccess: change group-member.c so that it doesn't use xmalloc. If the > memory allocation fails, let group_member() return -1 with errno = ENOMEM. This sounds like trouble. The only client of group_member is euidaccess, and euidaccess is supposed to return a binary value (access OK, or access denied), not a trinary one (access OK, or access denied, or memory exhausted). I expect that changing that would break a lot of code unless we rewrote it. How about following your suggestion, except that the code calls abort() if memory allocation fails? A simpler possibility would be to declare euidaccess to be GPL, at least for now. Would anyone mind? > - inline: Likewise, should be changed to LGPL. Yes. I did that just now. > - obstack: If someone was to use/assign the obstack_exit_failure variable > declared in obstack.h, he will get a link error. So I propose to move > the "#define obstack_exit_failure exit_failure" from obstack.c to > obstack.h. Then we can remove the dependency to exitfail. That would be fine, license wise. I don't quite follow the technical details but I imagine you have done that, so it sounds good. > - getaddrinfo, inttostr: Paul, can you agree to put intprops under LGPL? I'd rather not. How about if we use something like the following patch instead? 2006-11-16 Paul Eggert <[EMAIL PROTECTED]> * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf. * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h and inttostr.h. Use snprintf rather than uinttostr, so that LGPLed code doesn't depend on GPLed. --- modules/getaddrinfo.~1.13.~ 2006-10-22 23:03:01.000000000 -0700 +++ modules/getaddrinfo 2006-11-17 00:00:01.000000000 -0800 @@ -10,7 +10,7 @@ m4/getaddrinfo.m4 Depends-on: gettext-h inet_ntop -inttostr +snprintf socklen stdbool strdup --- lib/getaddrinfo.c.~1.19.~ 2006-10-29 13:52:55.000000000 -0800 +++ lib/getaddrinfo.c 2006-11-16 23:57:21.000000000 -0800 @@ -38,8 +38,7 @@ #define N_(String) String #include "inet_ntop.h" -#include "intprops.h" -#include "inttostr.h" +#include "snprintf.h" #include "strdup.h" /* BeOS has AF_INET, but not PF_INET. */ @@ -408,11 +407,8 @@ int getnameinfo(const struct sockaddr *r { unsigned short int port = ntohs (((const struct sockaddr_in *) sa)->sin_port); - char buf[INT_BUFSIZE_BOUND (port)]; - char const *s = uinttostr (port, buf); - if (strlen (s) + 1 > servicelen) + if (servicelen <= snprintf (service, servicelen, "%u", port)) return EAI_OVERFLOW; - memcpy (service, s, strlen (s) + 1); } break; }