This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Just exported Massive number of newlib functions in cygwin.din


I didn't export the argz functions and the envz functions since I wasn't
familiar with them and don't recall anyone ever asking for them.
Actually, I have had them exported for about 6 months now, and haven't had a single issue yet. They are mostly used for manipulating of strings in vectors and arrays. They are most often found in core GNU software such as fileutils, binutils, libtool(ltdl), and gcc. One minor catch I discovered was that I had to prepend two underscores to the symbol alias, as that is what configure often was expecting (i.e. __argz_next). Chuck can attest to the fact that I have been planning to submit a patch for awhile, but I guess I was just waiting for the "right time". I'm sure you may choose to do differently, but I've attached a diff of how I defined them, merely as a reference.

I suppose it is relevant to note that the argz/envz are unique to GNU/OS's and have no set specification outside of them. So I suppose you could considier it another set of linux-centric functions.

Cheers,
Nicholas
Index: cygwin/cygwin.din
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/cygwin.din,v
retrieving revision 1.77
diff -u -3 -p -a -u -p -r1.77 cygwin.din
--- cygwin/cygwin.din   15 Feb 2003 21:45:08 -0000  1.77
+++ cygwin/cygwin.din   15 Feb 2003 23:16:28 -0000
@@ -38,6 +38,30 @@ alarm
 _alarm = alarm
 alphasort
 _alphasort = alphasort
+argz_add
+__argz_add = argz_add
+argz_add_sep
+__argz_add_sep = argz_add_sep
+argz_append
+__argz_append = argz_append
+argz_count
+__argz_count = argz_count
+argz_create
+__argz_create = argz_create
+argz_create_sep
+__argz_create_sep = argz_create_sep
+argz_delete
+__argz_delete = argz_delete
+argz_extract
+__argz_extract = argz_extract
+argz_insert
+__argz_insert = argz_insert
+argz_next
+__argz_next = argz_next
+argz_replace
+__argz_replace = argz_replace
+argz_stringify
+__argz_stringify = argz_stringify
 asctime
 _asctime = asctime
 asctime_r
@@ -170,6 +194,18 @@ endgrent
 _endgrent = endgrent
 endutent
 _endutent = endutent
+envz_add
+__envz_add = envz_add
+envz_entry
+__envz_entry = envz_entry
+envz_get
+__envz_get = envz_get
+envz_merge
+__envz_merge = envz_merge
+envz_remove
+__envz_remove = envz_remove
+envz_strip
+__envz_strip = envz_strip
 erf
 _erf = erf
 erfc
Index: cygwin/include/cygwin/version.h
===================================================================
RCS file: /cvs/src/src/winsup/cygwin/include/cygwin/version.h,v
retrieving revision 1.101
diff -u -3 -p -a -u -p -r1.101 version.h
--- cygwin/include/cygwin/version.h 15 Feb 2003 21:45:09 -0000  1.101
+++ cygwin/include/cygwin/version.h 15 Feb 2003 23:16:28 -0000
@@ -180,12 +180,16 @@ details. */
          wcschr wcscpy wcscspn wcslcat wcslcpy wcsncat wcsncmp wcsncpy
          wcspbrk wcsrchr wcsrtombs wcsspn wcsstr wctob wctob wctrans
          wctype wmemchr wmemcmp wmemcpy wmemmove wmemset
+       75: Export argz_add, argz_add_sep, argz_append, argz_count, argz_create,
+           argz_create_sep, argz_delete, argz_extract, argz_insert, argz_next,
+           argz_replace, argz_stringify, envz_add, envz_entry, envz_get, envz_merge,
+           envz_remove, envz_strip and related aliases
      */
 
      /* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
 
 #define CYGWIN_VERSION_API_MAJOR 0
-#define CYGWIN_VERSION_API_MINOR 74
+#define CYGWIN_VERSION_API_MINOR 75
 
      /* There is also a compatibity version number associated with the
    shared memory regions.  It is incremented when incompatible

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]