Re: Port ndbm.h
Vaibhav Gupta <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <CAP+cEON=9DwoofvSjdo4NY44fRuPB8JMBC3+q4gVWG=esBti+A@mail.gmail.com> |
On Mon, Jun 10, 2019 at 9:39 PM Brian Inglis < [email protected]> wrote: > > On 2019-06-09 21:55, Vaibhav Gupta wrote: > > I have ported ndbm.h to newlib from FreeBSD. > > I have placed ndbm.h to newlib/libc/include directory and ndbm.c to > > newlib/libc/posix directory. > > But I realized, the function declaration of __hash_open in newlib is: > > DB *__hash_open(const char *, int, int, int, const HASHINFO *); > > and in FreeBSD it is: > > DB *__hash_open(const char *, int, int, const HASHINFO *, int); > > Although I made required changes in ndbm.c but I guess maybe the entire > > search.h should be updated to newer FreeBSD resource? > > Should we do that? > > I think this needs to be discussed more widely with previous maintainers. > I am totally interested, once it all gets clear, I can successfully port ndbm. > > Args were switched in 2010 commit: > > https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=b73e65bb44e2bac2b3e0a7a2a9f596ccb47e05a5 > > * libm/math/ef_sqrt.c: Delete unused variable sign. > * libc/stdlib/getenv.c: Delete "char *_findenv_r ();", as is not a > proper prototype, and is properly prototyped in stdlib.h, anyway. > * libc/stdlib/getenv_r.c: Ditto. > * libc/search/hash.c: Add _DEFUN to __hash_open() declaration; add > #define __DBINTERFACE_PRIVATE to activate prototypes from db_local.h. > yeah, I had to add this line in ndbm.h while porting to use __hash_open() > * libc/search/db_local.h: Correct __hash_open() prototype. > * libc/sys/linux/cmath/math_private.h: Eliminate compiler warnings: > Remove #define INFINITY (redefines from math.h); remove #define __isnanf > and #define __isinff isinff. > > newlib/libc/search/db_local.h diff: > > https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=blobdiff;f=newlib/libc/search/db_local.h;h=ec621fabf53f060b62fd3922f07d00ba0d8221c8;hp=53f9d17ff5abd8727be1a5b12e512131a6f8a287;hb=b73e65bb44e2bac2b3e0a7a2a9f596ccb47e05a5;hpb=56fbdfab68cf4577781e8623fe4c6d13ca7ec727 > > diff --git a/newlib/libc/search/db_local.h b/newlib/libc/search/db_local.h > index 53f9d17..ec621fa 100644 (file) > --- a/newlib/libc/search/db_local.h > +++ b/newlib/libc/search/db_local.h > @@ -210,7 +210,7 @@ DB *dbopen(const char *, int, int, DBTYPE, const void > *); > > #ifdef __DBINTERFACE_PRIVATE > DB *__bt_open(const char *, int, int, const BTREEINFO *, int); > -DB *__hash_open(const char *, int, int, const HASHINFO *, int); > +DB *__hash_open(const char *, int, int, int, const HASHINFO *); > DB *__rec_open(const char *, int, int, const RECNOINFO *, int); > void __dbpanic(DB *dbp); > #endif > > -- > Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada > > This email may be disturbing to some readers as it contains > too much technical detail. Reader discretion is advised. >