diff -rc1 /tmp/glib-1.1.2/ChangeLog ./ChangeLog
*** /tmp/glib-1.1.2/ChangeLog	Wed Aug 05 18:05:04 1998
--- ./ChangeLog	Thu Aug 06 18:44:48 1998
***************
*** 1 ****
--- 1,8 ----
+ 1998-08-06  Tor Lillqvist <tml@iki.fi>
+ 
+ 	* Ported to Win32. No substantial changes, just some tedious
+  	  editing in order to build GLib as a DLL (__declspec declarations
+  	  for all entry points). Tested with Cygnus GNU-Win32, Watcom and
+  	  MSVC.
+ 
  Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>
diff -rc1 /tmp/glib-1.1.2/configure ./configure
*** /tmp/glib-1.1.2/configure	Wed Aug 05 18:15:54 1998
--- ./configure	Thu Aug 06 14:43:50 1998
***************
*** 1134,1136 ****
    # Accept absolute paths.
!   /* | A-Za-z:\\*)
      test -z "$LD" && LD="$ac_prog"
--- 1134,1136 ----
    # Accept absolute paths.
!   /* | [A-Za-z]:\\*)
      test -z "$LD" && LD="$ac_prog"
diff -rc1 /tmp/glib-1.1.2/configure.in ./configure.in
*** /tmp/glib-1.1.2/configure.in	Wed Aug 05 17:55:48 1998
--- ./configure.in	Thu Aug 06 14:43:50 1998
***************
*** 134,135 ****
--- 134,140 ----
  AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
+ AC_CHECK_HEADERS(pwd.h, AC_DEFINE(HAVE_PWD_H))
+ AC_CHECK_HEADERS(sys/params.h, AC_DEFINE(HAVE_SYS_PARAMS_H))
+ 
+ # Check for lstat
+ AC_CHECK_FUNCS(lstat)
  
diff -rc1 /tmp/glib-1.1.2/garray.c ./garray.c
*** /tmp/glib-1.1.2/garray.c	Mon Aug 03 08:18:22 1998
--- ./garray.c	Thu Aug 06 14:43:52 1998
***************
*** 44,45 ****
--- 44,46 ----
  
+ GLIBAPI
  GArray*
***************
*** 64,65 ****
--- 65,67 ----
  
+ GLIBAPI
  void
***************
*** 74,75 ****
--- 76,78 ----
  
+ GLIBAPI
  GArray*
***************
*** 88,89 ****
--- 91,93 ----
  
+ GLIBAPI
  GArray*
***************
*** 103,104 ****
--- 107,109 ----
  
+ GLIBAPI
  GArray*
diff -rc1 /tmp/glib-1.1.2/gcache.c ./gcache.c
*** /tmp/glib-1.1.2/gcache.c	Thu Jun 11 00:21:12 1998
--- ./gcache.c	Thu Aug 06 14:43:52 1998
***************
*** 60,61 ****
--- 60,62 ----
  
+ GLIBAPI
  GCache*
***************
*** 90,91 ****
--- 91,93 ----
  
+ GLIBAPI
  void
***************
*** 103,104 ****
--- 105,107 ----
  
+ GLIBAPI
  gpointer
***************
*** 132,133 ****
--- 135,137 ----
  
+ GLIBAPI
  void
***************
*** 159,160 ****
--- 163,165 ----
  
+ GLIBAPI
  void
***************
*** 174,175 ****
--- 179,181 ----
  
+ GLIBAPI
  void
diff -rc1 /tmp/glib-1.1.2/gcompletion.c ./gcompletion.c
*** /tmp/glib-1.1.2/gcompletion.c	Sat Jul 25 04:02:56 1998
--- ./gcompletion.c	Thu Aug 06 14:43:54 1998
***************
*** 25,26 ****
--- 25,27 ----
  
+ GLIBAPI
  GCompletion* 
***************
*** 39,40 ****
--- 40,42 ----
  
+ GLIBAPI
  void 
***************
*** 69,70 ****
--- 71,73 ----
  
+ GLIBAPI
  void 
***************
*** 93,94 ****
--- 96,98 ----
  
+ GLIBAPI
  void 
***************
*** 150,151 ****
--- 154,156 ----
  
+ GLIBAPI
  GList* 
***************
*** 214,215 ****
--- 219,221 ----
  
+ GLIBAPI
  void 
diff -rc1 /tmp/glib-1.1.2/gdataset.c ./gdataset.c
*** /tmp/glib-1.1.2/gdataset.c	Fri Jun 19 03:00:22 1998
--- ./gdataset.c	Thu Aug 06 14:43:54 1998
***************
*** 112,113 ****
--- 112,114 ----
  
+ GLIBAPI
  void
***************
*** 124,125 ****
--- 125,127 ----
  
+ GLIBAPI
  void
***************
*** 153,154 ****
--- 155,157 ----
  
+ GLIBAPI
  gpointer
***************
*** 177,178 ****
--- 180,182 ----
  
+ GLIBAPI
  void
***************
*** 290,291 ****
--- 294,296 ----
  
+ GLIBAPI
  GQuark
***************
*** 301,302 ****
--- 306,308 ----
  
+ GLIBAPI
  GQuark
***************
*** 318,319 ****
--- 324,326 ----
  
+ GLIBAPI
  GQuark
***************
*** 335,336 ****
--- 342,344 ----
  
+ GLIBAPI
  gchar*
diff -rc1 /tmp/glib-1.1.2/gerror.c ./gerror.c
*** /tmp/glib-1.1.2/gerror.c	Thu Jun 11 00:21:12 1998
--- ./gerror.c	Thu Aug 06 14:43:56 1998
***************
*** 22,23 ****
--- 22,27 ----
  #include <stdlib.h>
+ 
+ #include "glibconfig.h"
+ 
+ #ifndef WIN32_BUT_NO_CYGWIN
  #include <sys/time.h>
***************
*** 25,29 ****
--- 29,36 ----
  #include <sys/types.h>
+ #endif
  
  #include <time.h>
+ #ifdef HAVE_UNISTD_H
  #include <unistd.h>
+ #endif
  #include "glib.h"
***************
*** 64,65 ****
--- 71,73 ----
  
+ GLIBAPI
  void
***************
*** 83,84 ****
--- 91,93 ----
  
+ GLIBAPI
  void
***************
*** 91,92 ****
--- 100,102 ----
  
+ GLIBAPI
  void
***************
*** 121,122 ****
--- 131,133 ----
  {
+ #ifndef WIN32_BUT_NO_CYGWIN
    pid_t pid;
***************
*** 154,155 ****
--- 165,169 ----
      ;
+ #else
+   abort ();
+ #endif
  }
***************
*** 159,160 ****
--- 173,175 ----
  {
+ #ifndef WIN32_BUT_NO_CYGWIN
    pid_t pid;
***************
*** 253,254 ****
--- 268,272 ----
    _exit (0);
+ #else
+   abort ();
+ #endif
  }
diff -rc1 /tmp/glib-1.1.2/ghash.c ./ghash.c
*** /tmp/glib-1.1.2/ghash.c	Thu Jul 09 22:35:58 1998
--- ./ghash.c	Thu Aug 06 14:43:56 1998
***************
*** 59,60 ****
--- 59,61 ----
  
+ GLIBAPI
  GHashTable*
***************
*** 80,81 ****
--- 81,83 ----
  
+ GLIBAPI
  void
***************
*** 94,95 ****
--- 96,98 ----
  
+ GLIBAPI
  void
***************
*** 124,125 ****
--- 127,129 ----
  
+ GLIBAPI
  void
***************
*** 143,144 ****
--- 147,149 ----
  
+ GLIBAPI
  gpointer
***************
*** 155,156 ****
--- 160,162 ----
  
+ GLIBAPI
  gboolean
***************
*** 179,180 ****
--- 185,187 ----
  
+ GLIBAPI
  void
***************
*** 187,188 ****
--- 194,196 ----
  
+ GLIBAPI
  void
***************
*** 197,198 ****
--- 205,207 ----
  
+ GLIBAPI
  void
***************
*** 213,215 ****
  /* Returns the number of elements contained in the hash table. */
! gint g_hash_table_size (GHashTable *hash_table)
  {
--- 222,226 ----
  /* Returns the number of elements contained in the hash table. */
! GLIBAPI
! gint
! g_hash_table_size (GHashTable *hash_table)
  {
diff -rc1 /tmp/glib-1.1.2/glib.h ./glib.h
*** /tmp/glib-1.1.2/glib.h	Tue Aug 04 15:26:24 1998
--- ./glib.h	Thu Aug 06 17:54:50 1998
***************
*** 27,28 ****
--- 27,44 ----
  
+ /* When compiling glib on Win32 with another compiler than gcc, we
+    must tell the compiler which functions and variables are to be
+    visible outside the DLL. And correspondingly, when compiling code
+    that uses glib, we must tell the compiler that the glib functions
+    and variables are from a DLL. */
+ 
+ #ifdef WIN32_BUT_NO_CYGWIN
+ #ifdef COMPILING_GLIB
+ #define GLIBAPI __declspec(dllexport)
+ #else
+ #define GLIBAPI __declspec(dllimport)
+ #endif
+ #else
+ #define GLIBAPI extern
+ #endif
+ 
  
***************
*** 583,622 ****
   */
! GList* g_list_alloc		(void);
! void   g_list_free		(GList		*list);
! void   g_list_free_1		(GList		*list);
! GList* g_list_append		(GList		*list,
  				 gpointer	 data);
! GList* g_list_prepend		(GList		*list,
  				 gpointer	 data);
! GList* g_list_insert		(GList		*list,
  				 gpointer	 data,
  				 gint		 position);
! GList* g_list_insert_sorted	(GList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);			    
! GList* g_list_concat		(GList		*list1, 
  				 GList		*list2);
! GList* g_list_remove		(GList		*list,
  				 gpointer	 data);
! GList* g_list_remove_link	(GList		*list,
  				 GList		*link);
! GList* g_list_reverse		(GList		*list);
! GList* g_list_nth		(GList		*list,
  				 guint		 n);
! GList* g_list_find		(GList		*list,
  				 gpointer	 data);
! GList* g_list_find_custom	(GList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);
! gint   g_list_position		(GList		*list,
  				 GList		*link);
! gint   g_list_index		(GList		*list,
  				 gpointer	 data);
! GList* g_list_last		(GList		*list);
! GList* g_list_first		(GList		*list);
! guint  g_list_length		(GList		*list);
! void   g_list_foreach		(GList		*list,
  				 GFunc		 func,
  				 gpointer	 user_data);
! gpointer g_list_nth_data	(GList		*list,
  				 guint		 n);
--- 599,641 ----
   */
! GLIBAPI GList* g_list_alloc	(void);
! GLIBAPI void   g_list_free	(GList		*list);
! GLIBAPI void   g_list_free_1	(GList		*list);
! GLIBAPI GList* g_list_append	(GList		*list,
  				 gpointer	 data);
! GLIBAPI GList* g_list_prepend	(GList		*list,
  				 gpointer	 data);
! GLIBAPI GList* g_list_insert	(GList		*list,
  				 gpointer	 data,
  				 gint		 position);
! GLIBAPI GList* g_list_insert_sorted
! 				(GList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);			    
! GLIBAPI GList* g_list_concat	(GList		*list1, 
  				 GList		*list2);
! GLIBAPI GList* g_list_remove	(GList		*list,
  				 gpointer	 data);
! GLIBAPI GList* g_list_remove_link
! 				(GList		*list,
  				 GList		*link);
! GLIBAPI GList* g_list_reverse	(GList		*list);
! GLIBAPI GList* g_list_nth	(GList		*list,
  				 guint		 n);
! GLIBAPI GList* g_list_find	(GList		*list,
  				 gpointer	 data);
! GLIBAPI GList* g_list_find_custom
! 				(GList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);
! GLIBAPI gint   g_list_position	(GList		*list,
  				 GList		*link);
! GLIBAPI gint   g_list_index	(GList		*list,
  				 gpointer	 data);
! GLIBAPI GList* g_list_last	(GList		*list);
! GLIBAPI GList* g_list_first	(GList		*list);
! GLIBAPI guint  g_list_length	(GList		*list);
! GLIBAPI void   g_list_foreach	(GList		*list,
  				 GFunc		 func,
  				 gpointer	 user_data);
! GLIBAPI gpointer g_list_nth_data(GList		*list,
  				 guint		 n);
***************
*** 628,666 ****
   */
! GSList* g_slist_alloc		(void);
! void	g_slist_free		(GSList		*list);
! void	g_slist_free_1		(GSList		*list);
! GSList* g_slist_append		(GSList		*list,
  				 gpointer	 data);
! GSList* g_slist_prepend		(GSList		*list,
  				 gpointer	 data);
! GSList* g_slist_insert		(GSList		*list,
  				 gpointer	 data,
  				 gint		 position);
! GSList* g_slist_insert_sorted	(GSList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);			    
! GSList* g_slist_concat		(GSList		*list1, 
  				 GSList		*list2);
! GSList* g_slist_remove		(GSList		*list,
  				 gpointer	 data);
! GSList* g_slist_remove_link	(GSList		*list,
  				 GSList		*link);
! GSList* g_slist_reverse		(GSList		*list);
! GSList* g_slist_nth		(GSList		*list,
  				 guint		 n);
! GSList* g_slist_find		(GSList		*list,
  				 gpointer	 data);
! GSList* g_slist_find_custom	(GSList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);
! gint	g_slist_position	(GSList		*list,
  				 GSList		*link);
! gint	g_slist_index		(GSList		*list,
  				 gpointer	 data);
! GSList* g_slist_last		(GSList		*list);
! guint	g_slist_length		(GSList		*list);
! void	g_slist_foreach		(GSList		*list,
  				 GFunc		 func,
  				 gpointer	 user_data);
! gpointer g_slist_nth_data	(GSList		*list,
  				 guint		 n);
--- 647,689 ----
   */
! GLIBAPI GSList* g_slist_alloc	(void);
! GLIBAPI void	g_slist_free	(GSList		*list);
! GLIBAPI void	g_slist_free_1	(GSList		*list);
! GLIBAPI GSList* g_slist_append	(GSList		*list,
  				 gpointer	 data);
! GLIBAPI GSList* g_slist_prepend	(GSList		*list,
  				 gpointer	 data);
! GLIBAPI GSList* g_slist_insert	(GSList		*list,
  				 gpointer	 data,
  				 gint		 position);
! GLIBAPI GSList* g_slist_insert_sorted
! 				(GSList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);			    
! GLIBAPI GSList* g_slist_concat	(GSList		*list1, 
  				 GSList		*list2);
! GLIBAPI GSList* g_slist_remove	(GSList		*list,
  				 gpointer	 data);
! GLIBAPI GSList* g_slist_remove_link
! 				(GSList		*list,
  				 GSList		*link);
! GLIBAPI GSList* g_slist_reverse	(GSList		*list);
! GLIBAPI GSList* g_slist_nth	(GSList		*list,
  				 guint		 n);
! GLIBAPI GSList* g_slist_find	(GSList		*list,
  				 gpointer	 data);
! GLIBAPI GSList* g_slist_find_custom
! 				(GSList		*list,
  				 gpointer	 data,
  				 GCompareFunc	 func);
! GLIBAPI gint	g_slist_position(GSList		*list,
  				 GSList		*link);
! GLIBAPI gint	g_slist_index	(GSList		*list,
  				 gpointer	 data);
! GLIBAPI GSList* g_slist_last	(GSList		*list);
! GLIBAPI guint	g_slist_length	(GSList		*list);
! GLIBAPI void	g_slist_foreach	(GSList		*list,
  				 GFunc		 func,
  				 gpointer	 user_data);
! GLIBAPI gpointer g_slist_nth_data
! 				(GSList		*list,
  				 guint		 n);
***************
*** 671,676 ****
   */
! GListAllocator* g_list_allocator_new  (void);
! void		g_list_allocator_free (GListAllocator* allocator);
! GListAllocator* g_slist_set_allocator (GListAllocator* allocator);
! GListAllocator* g_list_set_allocator  (GListAllocator* allocator);
  
--- 694,699 ----
   */
! GLIBAPI GListAllocator* g_list_allocator_new  (void);
! GLIBAPI void		g_list_allocator_free (GListAllocator* allocator);
! GLIBAPI GListAllocator* g_slist_set_allocator (GListAllocator* allocator);
! GLIBAPI GListAllocator* g_list_set_allocator  (GListAllocator* allocator);
  
***************
*** 679,691 ****
   */
! GHashTable* g_hash_table_new		(GHashFunc	 hash_func,
  					 GCompareFunc	 key_compare_func);
! void	    g_hash_table_destroy	(GHashTable	*hash_table);
! void	    g_hash_table_insert		(GHashTable	*hash_table,
  					 gpointer	 key,
  					 gpointer	 value);
! void	    g_hash_table_remove		(GHashTable	*hash_table,
  					 gconstpointer	 key);
! gpointer    g_hash_table_lookup		(GHashTable	*hash_table,
  					 gconstpointer	 key);
! gboolean    g_hash_table_lookup_extended(GHashTable	*hash_table,
  					 gconstpointer	 lookup_key,
--- 702,715 ----
   */
! GLIBAPI GHashTable* g_hash_table_new	(GHashFunc	 hash_func,
  					 GCompareFunc	 key_compare_func);
! GLIBAPI void	    g_hash_table_destroy(GHashTable	*hash_table);
! GLIBAPI void	    g_hash_table_insert	(GHashTable	*hash_table,
  					 gpointer	 key,
  					 gpointer	 value);
! GLIBAPI void	    g_hash_table_remove	(GHashTable	*hash_table,
  					 gconstpointer	 key);
! GLIBAPI gpointer    g_hash_table_lookup	(GHashTable	*hash_table,
  					 gconstpointer	 key);
! GLIBAPI gboolean    g_hash_table_lookup_extended
! 					(GHashTable	*hash_table,
  					 gconstpointer	 lookup_key,
***************
*** 693,700 ****
  					 gpointer	*value);
! void	    g_hash_table_freeze		(GHashTable	*hash_table);
! void	    g_hash_table_thaw		(GHashTable	*hash_table);
! void	    g_hash_table_foreach	(GHashTable	*hash_table,
  					 GHFunc		 func,
  					 gpointer	 user_data);
! gint	    g_hash_table_size		(GHashTable	*hash_table);
  
--- 717,724 ----
  					 gpointer	*value);
! GLIBAPI void	    g_hash_table_freeze	(GHashTable	*hash_table);
! GLIBAPI void	    g_hash_table_thaw	(GHashTable	*hash_table);
! GLIBAPI void	    g_hash_table_foreach(GHashTable	*hash_table,
  					 GHFunc		 func,
  					 gpointer	 user_data);
! GLIBAPI gint	    g_hash_table_size	(GHashTable	*hash_table);
  
***************
*** 703,705 ****
   */
! GCache*	 g_cache_new	       (GCacheNewFunc	   value_new_func,
  				GCacheDestroyFunc  value_destroy_func,
--- 727,729 ----
   */
! GLIBAPI GCache*	 g_cache_new   (GCacheNewFunc	   value_new_func,
  				GCacheDestroyFunc  value_destroy_func,
***************
*** 710,720 ****
  				GCompareFunc	   key_compare_func);
! void	 g_cache_destroy       (GCache		  *cache);
! gpointer g_cache_insert	       (GCache		  *cache,
  				gpointer	   key);
! void	 g_cache_remove	       (GCache		  *cache,
  				gpointer	   value);
! void	 g_cache_key_foreach   (GCache		  *cache,
  				GHFunc		   func,
  				gpointer	   user_data);
! void	 g_cache_value_foreach (GCache		  *cache,
  				GHFunc		   func,
--- 734,747 ----
  				GCompareFunc	   key_compare_func);
! GLIBAPI void	 g_cache_destroy
! 			       (GCache		  *cache);
! GLIBAPI gpointer g_cache_insert(GCache		  *cache,
  				gpointer	   key);
! GLIBAPI void	 g_cache_remove(GCache		  *cache,
  				gpointer	   value);
! GLIBAPI void	 g_cache_key_foreach
! 			       (GCache		  *cache,
  				GHFunc		   func,
  				gpointer	   user_data);
! GLIBAPI void	 g_cache_value_foreach
! 			       (GCache		  *cache,
  				GHFunc		   func,
***************
*** 725,744 ****
   */
! GTree*	 g_tree_new	 (GCompareFunc	 key_compare_func);
! void	 g_tree_destroy	 (GTree		*tree);
! void	 g_tree_insert	 (GTree		*tree,
! 			  gpointer	 key,
! 			  gpointer	 value);
! void	 g_tree_remove	 (GTree		*tree,
! 			  gpointer	 key);
! gpointer g_tree_lookup	 (GTree		*tree,
! 			  gpointer	 key);
! void	 g_tree_traverse (GTree		*tree,
! 			  GTraverseFunc	 traverse_func,
! 			  GTraverseType	 traverse_type,
! 			  gpointer	 data);
! gpointer g_tree_search	 (GTree		*tree,
! 			  GSearchFunc	 search_func,
! 			  gpointer	 data);
! gint	 g_tree_height	 (GTree		*tree);
! gint	 g_tree_nnodes	 (GTree		*tree);
  
--- 752,772 ----
   */
! GLIBAPI GTree*	 g_tree_new    (GCompareFunc	 key_compare_func);
! GLIBAPI void	 g_tree_destroy(GTree		*tree);
! GLIBAPI void	 g_tree_insert (GTree		*tree,
! 				gpointer	 key,
! 				gpointer	 value);
! GLIBAPI void	 g_tree_remove (GTree		*tree,
! 				gpointer	 key);
! GLIBAPI gpointer g_tree_lookup (GTree		*tree,
! 				gpointer	 key);
! GLIBAPI void	 g_tree_traverse
! 			       (GTree		*tree,
! 				GTraverseFunc	 traverse_func,
! 				GTraverseType	 traverse_type,
! 				gpointer	 data);
! GLIBAPI gpointer g_tree_search (GTree		*tree,
! 				GSearchFunc	 search_func,
! 				gpointer	 data);
! GLIBAPI gint	 g_tree_height (GTree		*tree);
! GLIBAPI gint	 g_tree_nnodes (GTree		*tree);
  
***************
*** 762,781 ****
  
! GNode*	 g_node_new		(gpointer	   data);
! void	 g_node_destroy		(GNode		  *root);
! void	 g_node_unlink		(GNode		  *node);
! void	 g_node_insert		(GNode		  *parent,
  				 gint		   position,
  				 GNode		  *node);
! void	 g_node_insert_before	(GNode		  *parent,
  				 GNode		  *sibling,
  				 GNode		  *node);
! void	 g_node_prepend		(GNode		  *parent,
  				 GNode		  *node);
! guint	 g_node_n_nodes		(GNode		  *root,
  				 GTraverseFlags	   flags);
! GNode*	 g_node_get_root	(GNode		  *node);
! gboolean g_node_is_ancestor	(GNode		  *node,
  				 GNode		  *descendant);
! guint	 g_node_depth		(GNode		  *node);
! GNode*	 g_node_find		(GNode		  *root,
  				 GTraverseType	   order,
--- 790,811 ----
  
! GLIBAPI GNode*	 g_node_new	(gpointer	   data);
! GLIBAPI void	 g_node_destroy	(GNode		  *root);
! GLIBAPI void	 g_node_unlink	(GNode		  *node);
! GLIBAPI void	 g_node_insert	(GNode		  *parent,
  				 gint		   position,
  				 GNode		  *node);
! GLIBAPI void	 g_node_insert_before
! 				(GNode		  *parent,
  				 GNode		  *sibling,
  				 GNode		  *node);
! GLIBAPI void	 g_node_prepend	(GNode		  *parent,
  				 GNode		  *node);
! GLIBAPI guint	 g_node_n_nodes	(GNode		  *root,
  				 GTraverseFlags	   flags);
! GLIBAPI GNode*	 g_node_get_root(GNode		  *node);
! GLIBAPI gboolean g_node_is_ancestor	
! 				(GNode		  *node,
  				 GNode		  *descendant);
! GLIBAPI guint	 g_node_depth	(GNode		  *node);
! GLIBAPI GNode*	 g_node_find	(GNode		  *root,
  				 GTraverseType	   order,
***************
*** 806,808 ****
   */
! void	 g_node_traverse	(GNode		  *root,
  				 GTraverseType	   order,
--- 836,838 ----
   */
! GLIBAPI void	 g_node_traverse(GNode		  *root,
  				 GTraverseType	   order,
***************
*** 818,840 ****
   */
! guint	 g_node_max_height	 (GNode *root);
  
! void	 g_node_children_foreach (GNode		  *node,
! 				  GTraverseFlags   flags,
! 				  GNodeForeachFunc func,
! 				  gpointer	   data);
! void	 g_node_reverse_children (GNode		  *node);
! guint	 g_node_n_children	 (GNode		  *node);
! GNode*	 g_node_nth_child	 (GNode		  *node,
! 				  guint		   n);
! GNode*	 g_node_last_child	 (GNode		  *node);
! GNode*	 g_node_find_child	 (GNode		  *node,
! 				  GTraverseFlags   flags,
! 				  gpointer	   data);
! gint	 g_node_child_position	 (GNode		  *node,
! 				  GNode		  *child);
! gint	 g_node_child_index	 (GNode		  *node,
! 				  gpointer	   data);
  
! GNode*	 g_node_first_sibling	 (GNode		  *node);
! GNode*	 g_node_last_sibling	 (GNode		  *node);
  
--- 848,870 ----
   */
! GLIBAPI guint	 g_node_max_height	 (GNode *root);
  
! GLIBAPI void	 g_node_children_foreach (GNode		  *node,
! 					  GTraverseFlags   flags,
! 					  GNodeForeachFunc func,
! 					  gpointer	   data);
! GLIBAPI void	 g_node_reverse_children (GNode		  *node);
! GLIBAPI guint	 g_node_n_children	 (GNode		  *node);
! GLIBAPI GNode*	 g_node_nth_child	 (GNode		  *node,
! 					  guint		   n);
! GLIBAPI GNode*	 g_node_last_child	 (GNode		  *node);
! GLIBAPI GNode*	 g_node_find_child	 (GNode		  *node,
! 					  GTraverseFlags   flags,
! 					  gpointer	   data);
! GLIBAPI gint	 g_node_child_position	 (GNode		  *node,
! 					  GNode		  *child);
! GLIBAPI gint	 g_node_child_index	 (GNode		  *node,
! 					  gpointer	   data);
  
! GLIBAPI GNode*	 g_node_first_sibling	 (GNode		  *node);
! GLIBAPI GNode*	 g_node_last_sibling	 (GNode		  *node);
  
***************
*** 861,867 ****
  
! gpointer g_malloc      (gulong	  size);
! gpointer g_malloc0     (gulong	  size);
! gpointer g_realloc     (gpointer  mem,
  			gulong	  size);
! void	 g_free	       (gpointer  mem);
  
--- 891,897 ----
  
! GLIBAPI gpointer g_malloc      (gulong	  size);
! GLIBAPI gpointer g_malloc0     (gulong	  size);
! GLIBAPI gpointer g_realloc     (gpointer  mem,
  			gulong	  size);
! GLIBAPI void	 g_free	       (gpointer  mem);
  
***************
*** 869,872 ****
  
! void	 g_mem_profile (void);
! void	 g_mem_check   (gpointer  mem);
  
--- 899,902 ----
  
! GLIBAPI void	 g_mem_profile (void);
! GLIBAPI void	 g_mem_check   (gpointer  mem);
  
***************
*** 895,908 ****
  
! GMemChunk* g_mem_chunk_new     (gchar	  *name,
! 				gint	   atom_size,
! 				gulong	   area_size,
! 				gint	   type);
! void	   g_mem_chunk_destroy (GMemChunk *mem_chunk);
! gpointer   g_mem_chunk_alloc   (GMemChunk *mem_chunk);
! void	   g_mem_chunk_free    (GMemChunk *mem_chunk,
! 				gpointer   mem);
! void	   g_mem_chunk_clean   (GMemChunk *mem_chunk);
! void	   g_mem_chunk_reset   (GMemChunk *mem_chunk);
! void	   g_mem_chunk_print   (GMemChunk *mem_chunk);
! void	   g_mem_chunk_info    (void);
  
--- 925,938 ----
  
! GLIBAPI GMemChunk* g_mem_chunk_new     (gchar	  *name,
! 					gint	   atom_size,
! 					gulong	   area_size,
! 					gint	   type);
! GLIBAPI void	   g_mem_chunk_destroy (GMemChunk *mem_chunk);
! GLIBAPI gpointer   g_mem_chunk_alloc   (GMemChunk *mem_chunk);
! GLIBAPI void	   g_mem_chunk_free    (GMemChunk *mem_chunk,
! 					gpointer   mem);
! GLIBAPI void	   g_mem_chunk_clean   (GMemChunk *mem_chunk);
! GLIBAPI void	   g_mem_chunk_reset   (GMemChunk *mem_chunk);
! GLIBAPI void	   g_mem_chunk_print   (GMemChunk *mem_chunk);
! GLIBAPI void	   g_mem_chunk_info    (void);
  
***************
*** 916,918 ****
   */
! void g_blow_chunks (void);
  
--- 946,948 ----
   */
! GLIBAPI void g_blow_chunks (void);
  
***************
*** 921,929 ****
   */
! GTimer* g_timer_new	(void);
! void	g_timer_destroy (GTimer	 *timer);
! void	g_timer_start	(GTimer	 *timer);
! void	g_timer_stop	(GTimer	 *timer);
! void	g_timer_reset	(GTimer	 *timer);
! gdouble g_timer_elapsed (GTimer	 *timer,
! 			 gulong	 *microseconds);
  
--- 951,959 ----
   */
! GLIBAPI GTimer* g_timer_new	(void);
! GLIBAPI void	g_timer_destroy (GTimer	 *timer);
! GLIBAPI void	g_timer_start	(GTimer	 *timer);
! GLIBAPI void	g_timer_stop	(GTimer	 *timer);
! GLIBAPI void	g_timer_reset	(GTimer	 *timer);
! GLIBAPI gdouble g_timer_elapsed (GTimer	 *timer,
! 				 gulong	 *microseconds);
  
***************
*** 932,937 ****
   */
! void g_error   (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
! void g_warning (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
! void g_message (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
! void g_print   (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
  
--- 962,967 ----
   */
! GLIBAPI void g_error   (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
! GLIBAPI void g_warning (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
! GLIBAPI void g_message (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
! GLIBAPI void g_print   (const gchar *format, ...) G_GNUC_PRINTF (1, 2);
  
***************
*** 941,957 ****
  #define G_STR_DELIMITERS     "_-|> <."
! void	g_strdelimit		(gchar	     *string,
! 				 const gchar *delimiters,
! 				 gchar	      new_delimiter);
! gchar*	g_strdup		(const gchar *str);
! gchar*	g_strconcat		(const gchar *string1,
! 				 ...); /* NULL terminated */
! gdouble g_strtod		(const gchar *nptr,
! 				 gchar	    **endptr);
! gchar*	g_strerror		(gint	      errnum);
! gchar*	g_strsignal		(gint	      signum);
! gint	g_strcasecmp		(const gchar *s1,
  				 const gchar *s2);
! void	g_strdown		(gchar	     *string);
! void	g_strup			(gchar	     *string);
! void	g_strreverse		(gchar	     *string);
  
--- 971,987 ----
  #define G_STR_DELIMITERS     "_-|> <."
! GLIBAPI void	g_strdelimit		(gchar	     *string,
! 					 const gchar *delimiters,
! 					 gchar	      new_delimiter);
! GLIBAPI gchar*	g_strdup		(const gchar *str);
! GLIBAPI gchar*	g_strconcat		(const gchar *string1,
! 					 ...); /* NULL terminated */
! GLIBAPI gdouble g_strtod		(const gchar *nptr,
! 					 gchar	    **endptr);
! GLIBAPI gchar*	g_strerror		(gint	      errnum);
! GLIBAPI gchar*	g_strsignal		(gint	      signum);
! GLIBAPI gint	g_strcasecmp		(const gchar *s1,
  				 const gchar *s2);
! GLIBAPI void	g_strdown		(gchar	     *string);
! GLIBAPI void	g_strup			(gchar	     *string);
! GLIBAPI void	g_strreverse		(gchar	     *string);
  
***************
*** 960,967 ****
   */
! gchar*	g_get_user_name		(void);
! gchar*	g_get_real_name		(void);
! gchar*	g_get_home_dir		(void);
! gchar*	g_get_tmp_dir		(void);
! gchar*	g_get_prgname		(void);
! void	g_set_prgname		(const gchar *prgname);
  
--- 990,997 ----
   */
! GLIBAPI gchar*	g_get_user_name		(void);
! GLIBAPI gchar*	g_get_real_name		(void);
! GLIBAPI gchar*	g_get_home_dir		(void);
! GLIBAPI gchar*	g_get_tmp_dir		(void);
! GLIBAPI gchar*	g_get_prgname		(void);
! GLIBAPI void	g_set_prgname		(const gchar *prgname);
  
***************
*** 970,983 ****
   */
! guint	g_parse_debug_string	(const gchar *string, 
! 				 GDebugKey   *keys, 
! 				 guint	      nkeys);
! gint	g_snprintf		(gchar	     *string,
! 				 gulong	      n,
! 				 gchar const *format,
! 				 ...) G_GNUC_PRINTF (3, 4);
! gchar*	g_basename		(const gchar *file_name);
  
  /* strings are newly allocated with g_malloc() */
! gchar*	g_dirname		(const gchar *file_name);
! gchar*	g_get_current_dir	(void);
  
--- 1000,1013 ----
   */
! GLIBAPI guint	g_parse_debug_string	(const gchar *string, 
! 					 GDebugKey   *keys, 
! 					 guint	      nkeys);
! GLIBAPI gint	g_snprintf		(gchar	     *string,
! 					 gulong	      n,
! 					 gchar const *format,
! 					 ...) G_GNUC_PRINTF (3, 4);
! GLIBAPI gchar*	g_basename		(const gchar *file_name);
  
  /* strings are newly allocated with g_malloc() */
! GLIBAPI gchar*	g_dirname		(const gchar *file_name);
! GLIBAPI gchar*	g_get_current_dir	(void);
  
***************
*** 995,1006 ****
   */
! GErrorFunc   g_set_error_handler   (GErrorFunc	 func);
! GWarningFunc g_set_warning_handler (GWarningFunc func);
! GPrintFunc   g_set_message_handler (GPrintFunc func);
! GPrintFunc   g_set_print_handler   (GPrintFunc func);
! 
! void g_debug	      (const gchar *progname);
! void g_attach_process (const gchar *progname,
! 		       gint	    query);
! void g_stack_trace    (const gchar *progname,
! 		       gint	    query);
  
--- 1025,1036 ----
   */
! GLIBAPI GErrorFunc   g_set_error_handler   (GErrorFunc	 func);
! GLIBAPI GWarningFunc g_set_warning_handler (GWarningFunc func);
! GLIBAPI GPrintFunc   g_set_message_handler (GPrintFunc func);
! GLIBAPI GPrintFunc   g_set_print_handler   (GPrintFunc func);
! 
! GLIBAPI void g_debug	      (const gchar *progname);
! GLIBAPI void g_attach_process (const gchar *progname,
! 			       gint	    query);
! GLIBAPI void g_stack_trace    (const gchar *progname,
! 			       gint	    query);
  
***************
*** 1010,1017 ****
   */
! GStringChunk* g_string_chunk_new	   (gint size);
! void	      g_string_chunk_free	   (GStringChunk *chunk);
! gchar*	      g_string_chunk_insert	   (GStringChunk *chunk,
! 					    const gchar	 *string);
! gchar*	      g_string_chunk_insert_const  (GStringChunk *chunk,
! 					    const gchar	 *string);
  
--- 1040,1047 ----
   */
! GLIBAPI GStringChunk* g_string_chunk_new	   (gint size);
! GLIBAPI void	      g_string_chunk_free	   (GStringChunk *chunk);
! GLIBAPI gchar*	      g_string_chunk_insert	   (GStringChunk *chunk,
! 						    const gchar	 *string);
! GLIBAPI gchar*	      g_string_chunk_insert_const  (GStringChunk *chunk,
! 						    const gchar	 *string);
  
***************
*** 1019,1053 ****
   */
! GString* g_string_new	    (const gchar *init);
! GString* g_string_sized_new (guint	  dfl_size);
! void	 g_string_free	    (GString	 *string,
! 			     gint	  free_segment);
! GString* g_string_assign    (GString	 *lval,
! 			     const gchar *rval);
! GString* g_string_truncate  (GString	 *string,
! 			     gint	  len);
! GString* g_string_append    (GString	 *string,
! 			     const gchar *val);
! GString* g_string_append_c  (GString	 *string,
! 			     gchar	  c);
! GString* g_string_prepend   (GString	 *string,
! 			     const gchar *val);
! GString* g_string_prepend_c (GString	 *string,
! 			     gchar	  c);
! GString* g_string_insert    (GString	 *string, 
! 			     gint	  pos, 
! 			     const gchar *val);
! GString* g_string_insert_c  (GString	 *string, 
! 			     gint	  pos, 
! 			     gchar	  c);
! GString* g_string_erase	    (GString	 *string, 
! 			     gint	  pos, 
! 			     gint	  len);
! GString* g_string_down	    (GString	 *string);
! GString* g_string_up	    (GString	 *string);
! void	 g_string_sprintf   (GString	 *string,
! 			     const gchar *format,
! 			     ...) G_GNUC_PRINTF (2, 3);
! void	 g_string_sprintfa  (GString	 *string,
! 			     const gchar *format,
! 			     ...) G_GNUC_PRINTF (2, 3);
  
--- 1049,1083 ----
   */
! GLIBAPI GString* g_string_new	    (const gchar *init);
! GLIBAPI GString* g_string_sized_new (guint	  dfl_size);
! GLIBAPI void	 g_string_free	    (GString	 *string,
! 				     gint	  free_segment);
! GLIBAPI GString* g_string_assign    (GString	 *lval,
! 				     const gchar *rval);
! GLIBAPI GString* g_string_truncate  (GString	 *string,
! 				     gint	  len);
! GLIBAPI GString* g_string_append    (GString	 *string,
! 				     const gchar *val);
! GLIBAPI GString* g_string_append_c  (GString	 *string,
! 				     gchar	  c);
! GLIBAPI GString* g_string_prepend   (GString	 *string,
! 				     const gchar *val);
! GLIBAPI GString* g_string_prepend_c (GString	 *string,
! 				     gchar	  c);
! GLIBAPI GString* g_string_insert    (GString	 *string, 
! 				     gint	  pos, 
! 				     const gchar *val);
! GLIBAPI GString* g_string_insert_c  (GString	 *string, 
! 				     gint	  pos, 
! 				     gchar	  c);
! GLIBAPI GString* g_string_erase	    (GString	 *string, 
! 				     gint	  pos, 
! 				     gint	  len);
! GLIBAPI GString* g_string_down	    (GString	 *string);
! GLIBAPI GString* g_string_up	    (GString	 *string);
! GLIBAPI void	 g_string_sprintf   (GString	 *string,
! 				     const gchar *format,
! 				     ...) G_GNUC_PRINTF (2, 3);
! GLIBAPI void	 g_string_sprintfa  (GString	 *string,
! 				     const gchar *format,
! 				     ...) G_GNUC_PRINTF (2, 3);
  
***************
*** 1070,1083 ****
  
! GArray* g_array_new	  (gint	     zero_terminated);
! void	g_array_free	  (GArray   *array,
! 			   gint	     free_segment);
! GArray* g_rarray_append	  (GArray   *array,
! 			   gpointer  data,
! 			   gint	     size);
! GArray* g_rarray_prepend  (GArray   *array,
! 			   gpointer  data,
! 			   gint	     size);
! GArray* g_rarray_truncate (GArray   *array,
! 			   gint	     length,
! 			   gint	     size);
  
--- 1100,1113 ----
  
! GLIBAPI GArray* g_array_new       (gint	     zero_terminated);
! GLIBAPI void	g_array_free      (GArray   *array,
! 			           gint	     free_segment);
! GLIBAPI GArray* g_rarray_append   (GArray   *array,
! 				   gpointer  data,
! 				   gint      size);
! GLIBAPI GArray* g_rarray_prepend  (GArray   *array,
! 				   gpointer  data,
! 				   gint	     size);
! GLIBAPI GArray* g_rarray_truncate (GArray   *array,
! 				   gint	     length,
! 				   gint	     size);
  
***************
*** 1090,1101 ****
  
! GPtrArray*  g_ptr_array_new		   (void);
! void	    g_ptr_array_free		   (GPtrArray	*array,
  					    gboolean	 free_seg);
! void	    g_ptr_array_set_size	   (GPtrArray	*array,
  					    gint	 length);
! void	    g_ptr_array_remove_index	   (GPtrArray	*array,
  					    gint	 index);
! gboolean    g_ptr_array_remove		   (GPtrArray	*array,
  					    gpointer	 data);
! void	    g_ptr_array_add		   (GPtrArray	*array,
  					    gpointer	 data);
--- 1120,1132 ----
  
! GLIBAPI GPtrArray*  g_ptr_array_new	   (void);
! GLIBAPI void	    g_ptr_array_free	   (GPtrArray	*array,
  					    gboolean	 free_seg);
! GLIBAPI void	    g_ptr_array_set_size   (GPtrArray	*array,
  					    gint	 length);
! GLIBAPI void	    g_ptr_array_remove_index
! 					   (GPtrArray	*array,
  					    gint	 index);
! GLIBAPI gboolean    g_ptr_array_remove	   (GPtrArray	*array,
  					    gpointer	 data);
! GLIBAPI void	    g_ptr_array_add	   (GPtrArray	*array,
  					    gpointer	 data);
***************
*** 1106,1121 ****
  
! GByteArray* g_byte_array_new	  (void);
! void	    g_byte_array_free	  (GByteArray *array,
! 				   gint	       free_segment);
! 
! GByteArray* g_byte_array_append	  (GByteArray	*array,
! 				   const guint8 *data,
! 				   guint	 len);
! 
! GByteArray* g_byte_array_prepend  (GByteArray	*array,
! 				   const guint8 *data,
! 				   guint	 len);
  
! GByteArray* g_byte_array_truncate (GByteArray *array,
! 				   gint	       length);
  
--- 1137,1152 ----
  
! GLIBAPI GByteArray* g_byte_array_new	 (void);
! GLIBAPI void	    g_byte_array_free	 (GByteArray *array,
! 					  gint	       free_segment);
! 
! GLIBAPI GByteArray* g_byte_array_append  (GByteArray	*array,
! 					  const guint8 *data,
! 					  guint	 len);
! 
! GLIBAPI GByteArray* g_byte_array_prepend  (GByteArray	*array,
! 					   const guint8 *data,
! 					   guint	 len);
  
! GLIBAPI GByteArray* g_byte_array_truncate (GByteArray *array,
! 					   gint	       length);
  
***************
*** 1124,1132 ****
   */
! gint  g_str_equal (gconstpointer   v,
! 		   gconstpointer   v2);
! guint g_str_hash  (gconstpointer v);
! 
! gint  g_int_equal (gconstpointer v,
! 		   gconstpointer v2);
! guint g_int_hash  (gconstpointer v);
  
--- 1155,1163 ----
   */
! GLIBAPI gint  g_str_equal (gconstpointer   v,
! 			   gconstpointer   v2);
! GLIBAPI guint g_str_hash  (gconstpointer v);
! 
! GLIBAPI gint  g_int_equal (gconstpointer v,
! 			   gconstpointer v2);
! GLIBAPI guint g_int_hash  (gconstpointer v);
  
***************
*** 1136,1140 ****
   */
! guint g_direct_hash  (gconstpointer v);
! gint  g_direct_equal (gconstpointer v,
! 		      gconstpointer v2);
  
--- 1167,1171 ----
   */
! GLIBAPI guint g_direct_hash  (gconstpointer v);
! GLIBAPI gint  g_direct_equal (gconstpointer v,
! 			      gconstpointer v2);
  
***************
*** 1143,1148 ****
   */
! GQuark	  g_quark_try_string		(const gchar	*string);
! GQuark	  g_quark_from_static_string	(const gchar	*string);
! GQuark	  g_quark_from_string		(const gchar	*string);
! gchar*	  g_quark_to_string		(GQuark		 quark);
  
--- 1174,1179 ----
   */
! GLIBAPI GQuark	  g_quark_try_string		(const gchar	*string);
! GLIBAPI GQuark	  g_quark_from_static_string	(const gchar	*string);
! GLIBAPI GQuark	  g_quark_from_string		(const gchar	*string);
! GLIBAPI gchar*	  g_quark_to_string		(GQuark		 quark);
  
***************
*** 1150,1161 ****
   */
! void	  g_dataset_destroy		(gconstpointer	 dataset_location);
! gpointer  g_dataset_id_get_data		(gconstpointer	 dataset_location,
! 					 GQuark		 key_id);
! void	  g_dataset_id_set_data_full	(gconstpointer	 dataset_location,
! 					 GQuark		 key_id,
! 					 gpointer	 data,
! 					 GDestroyNotify	 destroy_func);
! void	  g_dataset_id_set_destroy	(gconstpointer	 dataset_location,
! 					 GQuark		 key_id,
! 					 GDestroyNotify	 destroy_func);
  
--- 1181,1192 ----
   */
! GLIBAPI void	  g_dataset_destroy		(gconstpointer	 dataset_location);
! GLIBAPI gpointer  g_dataset_id_get_data		(gconstpointer	 dataset_location,
! 						 GQuark		 key_id);
! GLIBAPI void	  g_dataset_id_set_data_full	(gconstpointer	 dataset_location,
! 						 GQuark		 key_id,
! 						 gpointer	 data,
! 						 GDestroyNotify	 destroy_func);
! GLIBAPI void	  g_dataset_id_set_destroy	(gconstpointer	 dataset_location,
! 						 GQuark		 key_id,
! 						 GDestroyNotify	 destroy_func);
  
***************
*** 1328,1346 ****
  
! GScanner*	g_scanner_new			(GScannerConfig *config_templ);
! void		g_scanner_destroy		(GScanner	*scanner);
! void		g_scanner_input_file		(GScanner	*scanner,
  						 gint		input_fd);
! void		g_scanner_input_text		(GScanner	*scanner,
  						 const	gchar	*text,
  						 guint		text_len);
! GTokenType	g_scanner_get_next_token	(GScanner	*scanner);
! GTokenType	g_scanner_peek_next_token	(GScanner	*scanner);
! GTokenType	g_scanner_cur_token		(GScanner	*scanner);
! GValue		g_scanner_cur_value		(GScanner	*scanner);
! guint		g_scanner_cur_line		(GScanner	*scanner);
! guint		g_scanner_cur_position		(GScanner	*scanner);
! gboolean	g_scanner_eof			(GScanner	*scanner);
! guint		g_scanner_set_scope		(GScanner	*scanner,
  						 guint		 scope_id);
! void		g_scanner_scope_add_symbol	(GScanner	*scanner,
  						 guint		 scope_id,
--- 1359,1379 ----
  
! GLIBAPI GScanner*	g_scanner_new		(GScannerConfig *config_templ);
! GLIBAPI void		g_scanner_destroy	(GScanner	*scanner);
! GLIBAPI void		g_scanner_input_file	(GScanner	*scanner,
  						 gint		input_fd);
! GLIBAPI void		g_scanner_input_text	(GScanner	*scanner,
  						 const	gchar	*text,
  						 guint		text_len);
! GLIBAPI GTokenType	g_scanner_get_next_token(GScanner	*scanner);
! GLIBAPI GTokenType	g_scanner_peek_next_token	
! 						(GScanner	*scanner);
! GLIBAPI GTokenType	g_scanner_cur_token	(GScanner	*scanner);
! GLIBAPI GValue		g_scanner_cur_value	(GScanner	*scanner);
! GLIBAPI guint		g_scanner_cur_line	(GScanner	*scanner);
! GLIBAPI guint		g_scanner_cur_position	(GScanner	*scanner);
! GLIBAPI gboolean	g_scanner_eof		(GScanner	*scanner);
! GLIBAPI guint		g_scanner_set_scope	(GScanner	*scanner,
  						 guint		 scope_id);
! GLIBAPI void		g_scanner_scope_add_symbol	
! 						(GScanner	*scanner,
  						 guint		 scope_id,
***************
*** 1348,1356 ****
  						 gpointer	value);
! void		g_scanner_scope_remove_symbol	(GScanner	*scanner,
  						 guint		 scope_id,
  						 const gchar	*symbol);
! gpointer	g_scanner_scope_lookup_symbol	(GScanner	*scanner,
  						 guint		 scope_id,
  						 const gchar	*symbol);
! void		g_scanner_scope_foreach_symbol	(GScanner	*scanner,
  						 guint		 scope_id,
--- 1381,1392 ----
  						 gpointer	value);
! GLIBAPI void		g_scanner_scope_remove_symbol	
! 						(GScanner	*scanner,
  						 guint		 scope_id,
  						 const gchar	*symbol);
! GLIBAPI gpointer	g_scanner_scope_lookup_symbol	
! 						(GScanner	*scanner,
  						 guint		 scope_id,
  						 const gchar	*symbol);
! GLIBAPI void		g_scanner_scope_foreach_symbol	
! 						(GScanner	*scanner,
  						 guint		 scope_id,
***************
*** 1358,1364 ****
  						 gpointer	 func_data);
! gpointer	g_scanner_lookup_symbol		(GScanner	*scanner,
  						 const gchar	*symbol);
! void		g_scanner_freeze_symbol_table	(GScanner	*scanner);
! void		g_scanner_thaw_symbol_table	(GScanner	*scanner);
! void		g_scanner_unexp_token		(GScanner	*scanner,
  						 GTokenType	expected_token,
--- 1394,1402 ----
  						 gpointer	 func_data);
! GLIBAPI gpointer	g_scanner_lookup_symbol	(GScanner	*scanner,
  						 const gchar	*symbol);
! GLIBAPI void		g_scanner_freeze_symbol_table	
! 						(GScanner	*scanner);
! GLIBAPI void		g_scanner_thaw_symbol_table	
! 						(GScanner	*scanner);
! GLIBAPI void		g_scanner_unexp_token	(GScanner	*scanner,
  						 GTokenType	expected_token,
***************
*** 1369,1377 ****
  						 gint		 is_error);
! void		g_scanner_error			(GScanner	*scanner,
  						 const gchar	*format,
  						 ...) G_GNUC_PRINTF (2,3);
! void		g_scanner_warn			(GScanner	*scanner,
  						 const gchar	*format,
  						 ...) G_GNUC_PRINTF (2,3);
! gint		g_scanner_stat_mode		(const gchar	*filename);
  /* keep downward source compatibility */
--- 1407,1415 ----
  						 gint		 is_error);
! GLIBAPI void		g_scanner_error		(GScanner	*scanner,
  						 const gchar	*format,
  						 ...) G_GNUC_PRINTF (2,3);
! GLIBAPI void		g_scanner_warn		(GScanner	*scanner,
  						 const gchar	*format,
  						 ...) G_GNUC_PRINTF (2,3);
! GLIBAPI gint		g_scanner_stat_mode	(const gchar	*filename);
  /* keep downward source compatibility */
***************
*** 1400,1411 ****
  
! GCompletion* g_completion_new	       (GCompletionFunc func);
! void	     g_completion_add_items    (GCompletion*	cmp, 
! 					GList*		items);
! void	     g_completion_remove_items (GCompletion*	cmp, 
! 					GList*		items);
! void	     g_completion_clear_items  (GCompletion*	cmp);
! GList*	     g_completion_complete     (GCompletion*	cmp, 
! 					gchar*		prefix,
! 					gchar**		new_prefix);
! void	     g_completion_free	       (GCompletion*	cmp);
  
--- 1438,1449 ----
  
! GLIBAPI GCompletion* g_completion_new	       (GCompletionFunc func);
! GLIBAPI void	     g_completion_add_items    (GCompletion*	cmp, 
! 						GList*		items);
! GLIBAPI void	     g_completion_remove_items (GCompletion*	cmp, 
! 						GList*		items);
! GLIBAPI void	     g_completion_clear_items  (GCompletion*	cmp);
! GLIBAPI GList*	     g_completion_complete     (GCompletion*	cmp, 
! 						gchar*		prefix,
! 						gchar**		new_prefix);
! GLIBAPI void	     g_completion_free	       (GCompletion*	cmp);
  
***************
*** 1433,1459 ****
  
! GRelation* g_relation_new     (gint	    fields);
! void	   g_relation_destroy (GRelation   *relation);
! void	   g_relation_index   (GRelation   *relation,
! 			       gint	    field,
! 			       GHashFunc    hash_func,
! 			       GCompareFunc key_compare_func);
! void	   g_relation_insert  (GRelation   *relation,
! 			       ...);
! gint	   g_relation_delete  (GRelation   *relation,
! 			       gconstpointer  key,
! 			       gint	    field);
! GTuples*   g_relation_select  (GRelation   *relation,
! 			       gconstpointer  key,
! 			       gint	    field);
! gint	   g_relation_count   (GRelation   *relation,
! 			       gconstpointer  key,
! 			       gint	    field);
! gboolean   g_relation_exists  (GRelation   *relation,
! 			       ...);
! void	   g_relation_print   (GRelation   *relation);
! 
! void	   g_tuples_destroy   (GTuples	   *tuples);
! gpointer   g_tuples_index     (GTuples	   *tuples,
! 			       gint	    index,
! 			       gint	    field);
  
--- 1471,1497 ----
  
! GLIBAPI GRelation* g_relation_new     (gint	    fields);
! GLIBAPI void	   g_relation_destroy (GRelation   *relation);
! GLIBAPI void	   g_relation_index   (GRelation   *relation,
! 				       gint	    field,
! 				       GHashFunc    hash_func,
! 				       GCompareFunc key_compare_func);
! GLIBAPI void	   g_relation_insert  (GRelation   *relation,
! 				       ...);
! GLIBAPI gint	   g_relation_delete  (GRelation   *relation,
! 				       gconstpointer  key,
! 				       gint	    field);
! GLIBAPI GTuples*   g_relation_select  (GRelation   *relation,
! 				       gconstpointer  key,
! 				       gint	    field);
! GLIBAPI gint	   g_relation_count   (GRelation   *relation,
! 				       gconstpointer  key,
! 				       gint	    field);
! GLIBAPI gboolean   g_relation_exists  (GRelation   *relation,
! 				       ...);
! GLIBAPI void	   g_relation_print   (GRelation   *relation);
! 
! GLIBAPI void	   g_tuples_destroy   (GTuples	   *tuples);
! GLIBAPI gpointer   g_tuples_index     (GTuples	   *tuples,
! 				       gint	    index,
! 				       gint	    field);
  
***************
*** 1462,1468 ****
   */
! extern const guint glib_major_version;
! extern const guint glib_minor_version;
! extern const guint glib_micro_version;
! extern const guint glib_interface_age;
! extern const guint glib_binary_age;
  
--- 1500,1506 ----
   */
! GLIBAPI const guint glib_major_version;
! GLIBAPI const guint glib_minor_version;
! GLIBAPI const guint glib_micro_version;
! GLIBAPI const guint glib_interface_age;
! GLIBAPI const guint glib_binary_age;
  
***************
*** 1471,1473 ****
  #endif /* __cplusplus */
- 
  
--- 1509,1510 ----
diff -rc1 /tmp/glib-1.1.2/glibconfig.h.in ./glibconfig.h.in
*** /tmp/glib-1.1.2/glibconfig.h.in	Tue Aug 04 15:26:24 1998
--- ./glibconfig.h.in	Thu Aug 06 14:45:26 1998
***************
*** 26,27 ****
--- 26,29 ----
  #undef HAVE_LONG_DOUBLE
+ #undef HAVE_PWD_H
+ #undef HAVE_SYS_PARAMS_H
  #undef HAVE_SYS_SELECT_H
***************
*** 72,73 ****
--- 74,78 ----
  
+ /* Define if you have the lstat function.  */
+ #undef HAVE_LSTAT
+ 
  /* Define if you have the strcasecmp function.  */
***************
*** 92 ****
--- 97,104 ----
  #undef HAVE_VALUES_H
+ 
+ /* Define if you are on Win32.  */
+ #undef WIN32
+ 
+ /* Define if you are on Win32 but not using the Cygnus tools.
+    (That is, you use some commercial compiler.)  */
+ #undef WIN32_BUT_NO_CYGWIN
diff -rc1 /tmp/glib-1.1.2/glist.c ./glist.c
*** /tmp/glib-1.1.2/glist.c	Thu Jun 11 00:21:12 1998
--- ./glist.c	Thu Aug 06 17:49:58 1998
***************
*** 33,35 ****
  
! 
  GListAllocator*
--- 33,35 ----
  
! GLIBAPI
  GListAllocator*
***************
*** 45,46 ****
--- 45,47 ----
  
+ GLIBAPI
  void
***************
*** 56,57 ****
--- 57,59 ----
  
+ GLIBAPI
  GListAllocator*
***************
*** 80,82 ****
  
! 
  GList*
--- 82,84 ----
  
! GLIBAPI
  GList*
***************
*** 104,105 ****
--- 106,108 ----
  
+ GLIBAPI
  void
***************
*** 117,118 ****
--- 120,122 ----
  
+ GLIBAPI
  void
***************
*** 127,128 ****
--- 131,133 ----
  
+ GLIBAPI
  GList*
***************
*** 150,151 ****
--- 155,157 ----
  
+ GLIBAPI
  GList*
***************
*** 173,174 ****
--- 179,181 ----
  
+ GLIBAPI
  GList*
***************
*** 207,208 ****
--- 214,216 ----
  
+ GLIBAPI
  GList *
***************
*** 225,226 ****
--- 233,235 ----
  
+ GLIBAPI 
  GList*
***************
*** 254,255 ****
--- 263,265 ----
  
+ GLIBAPI
  GList*
***************
*** 275,276 ****
--- 285,287 ----
  
+ GLIBAPI
  GList*
***************
*** 292,293 ****
--- 303,305 ----
  
+ GLIBAPI
  GList*
***************
*** 302,303 ****
--- 314,316 ----
  
+ GLIBAPI
  gpointer
***************
*** 312,313 ****
--- 325,327 ----
  
+ GLIBAPI
  GList*
***************
*** 326,327 ****
--- 340,342 ----
  
+ GLIBAPI
  GList*
***************
*** 343,345 ****
  
! 
  gint
--- 358,360 ----
  
! GLIBAPI
  gint
***************
*** 362,363 ****
--- 377,379 ----
  
+ GLIBAPI
  gint
***************
*** 380,381 ****
--- 396,398 ----
  
+ GLIBAPI
  GList*
***************
*** 392,393 ****
--- 409,411 ----
  
+ GLIBAPI
  GList*
***************
*** 404,405 ****
--- 422,424 ----
  
+ GLIBAPI
  guint
***************
*** 419,420 ****
--- 438,440 ----
  
+ GLIBAPI
  void
***************
*** 431,433 ****
  
! 
  GList*
--- 451,453 ----
  
! GLIBAPI
  GList*
diff -rc1 /tmp/glib-1.1.2/gmem.c ./gmem.c
*** /tmp/glib-1.1.2/gmem.c	Thu Jun 11 00:21:12 1998
--- ./gmem.c	Thu Aug 06 14:45:30 1998
***************
*** 98,99 ****
--- 98,100 ----
  
+ GLIBAPI
  gpointer
***************
*** 155,156 ****
--- 156,158 ----
  
+ GLIBAPI
  gpointer
***************
*** 212,213 ****
--- 214,216 ----
  
+ GLIBAPI
  gpointer
***************
*** 290,291 ****
--- 293,295 ----
  
+ GLIBAPI
  void
***************
*** 325,327 ****
  
! 
  void
--- 329,331 ----
  
! GLIBAPI
  void
***************
*** 344,345 ****
--- 348,350 ----
  
+ GLIBAPI
  void
***************
*** 357,358 ****
--- 362,364 ----
  
+ GLIBAPI
  GMemChunk*
***************
*** 415,416 ****
--- 421,423 ----
  
+ GLIBAPI
  void
***************
*** 448,449 ****
--- 455,457 ----
  
+ GLIBAPI
  gpointer
***************
*** 576,577 ****
--- 584,586 ----
  
+ GLIBAPI
  void
***************
*** 614,615 ****
--- 623,625 ----
  /* This doesn't free the free_area if there is one */
+ GLIBAPI
  void
***************
*** 680,681 ****
--- 690,692 ----
  
+ GLIBAPI
  void
***************
*** 710,711 ****
--- 721,723 ----
  
+ GLIBAPI
  void
***************
*** 732,733 ****
--- 744,746 ----
  
+ GLIBAPI
  void
***************
*** 756,757 ****
--- 769,771 ----
  
+ GLIBAPI
  void
diff -rc1 /tmp/glib-1.1.2/gmessages.c ./gmessages.c
*** /tmp/glib-1.1.2/gmessages.c	Thu Jun 11 00:21:14 1998
--- ./gmessages.c	Thu Aug 06 14:45:32 1998
***************
*** 22,24 ****
--- 22,27 ----
  #include <string.h>
+ #ifdef HAVE_UNISTD_H
  #include <unistd.h>
+ #endif
+ #include <stdlib.h>
  #include "glib.h"
***************
*** 32,33 ****
--- 35,37 ----
  
+ GLIBAPI
  void
***************
*** 41,43 ****
--- 45,51 ----
      {
+ #ifndef WIN32_BUT_NO_CYGWIN
        write (2, "g_error: recursed!\n", 19);
+ #else
+       fprintf (stderr, "g_error: recursed!\n");
+ #endif
        return;
***************
*** 57,58 ****
--- 65,67 ----
      {
+ #ifndef WIN32_BUT_NO_CYGWIN
        /* Use write() here because we might be out of memory */
***************
*** 61,62 ****
--- 70,75 ----
        write (2, "\n", 1);
+ #else
+       /* Is this a good idea? Would a MessageBox be better? */
+       fprintf (stderr, "\n** ERROR **: %s\n", buf);
+ #endif
      }
***************
*** 66,67 ****
--- 79,81 ----
  
+ GLIBAPI
  void
***************
*** 90,91 ****
--- 104,106 ----
  
+ GLIBAPI
  void
***************
*** 114,115 ****
--- 129,131 ----
  
+ GLIBAPI
  void
***************
*** 136,137 ****
--- 152,154 ----
  
+ GLIBAPI
  GErrorFunc
***************
*** 147,148 ****
--- 164,166 ----
  
+ GLIBAPI
  GWarningFunc
***************
*** 158,159 ****
--- 176,178 ----
  
+ GLIBAPI
  GPrintFunc
***************
*** 169,170 ****
--- 188,190 ----
  
+ GLIBAPI
  GPrintFunc
diff -rc1 /tmp/glib-1.1.2/gnode.c ./gnode.c
*** /tmp/glib-1.1.2/gnode.c	Mon Aug 03 15:06:18 1998
--- ./gnode.c	Thu Aug 06 14:45:32 1998
***************
*** 34,35 ****
--- 34,36 ----
  /* --- functions --- */
+ GLIBAPI
  GNode*
***************
*** 86,87 ****
--- 87,89 ----
  
+ GLIBAPI
  void
***************
*** 97,98 ****
--- 99,101 ----
  
+ GLIBAPI
  void
***************
*** 115,116 ****
--- 118,120 ----
  
+ GLIBAPI
  void
***************
*** 134,135 ****
--- 138,140 ----
  
+ GLIBAPI
  void
***************
*** 178,179 ****
--- 183,185 ----
  
+ GLIBAPI
  void
***************
*** 187,188 ****
--- 193,195 ----
  
+ GLIBAPI
  GNode*
***************
*** 198,199 ****
--- 205,207 ----
  
+ GLIBAPI
  gboolean
***************
*** 219,220 ****
--- 227,229 ----
   */
+ GLIBAPI
  guint
***************
*** 233,234 ****
--- 242,244 ----
  
+ GLIBAPI
  void
***************
*** 253,254 ****
--- 263,265 ----
  
+ GLIBAPI
  guint
***************
*** 593,594 ****
--- 604,606 ----
  
+ GLIBAPI
  void
***************
*** 663,664 ****
--- 675,677 ----
  
+ GLIBAPI
  GNode*
***************
*** 706,707 ****
--- 719,721 ----
  
+ GLIBAPI
  guint
***************
*** 720,721 ****
--- 734,736 ----
  
+ GLIBAPI
  GNode*
***************
*** 733,734 ****
--- 748,750 ----
  
+ GLIBAPI
  GNode*
***************
*** 747,748 ****
--- 763,765 ----
  
+ GLIBAPI
  guint
***************
*** 764,765 ****
--- 781,783 ----
  
+ GLIBAPI
  GNode*
***************
*** 794,795 ****
--- 812,814 ----
  
+ GLIBAPI
  gint
***************
*** 816,817 ****
--- 835,837 ----
  
+ GLIBAPI
  gint
***************
*** 836,837 ****
--- 856,858 ----
  
+ GLIBAPI
  GNode*
***************
*** 847,848 ****
--- 868,870 ----
  
+ GLIBAPI
  GNode*
***************
*** 858,859 ****
--- 880,882 ----
  
+ GLIBAPI
  void
diff -rc1 /tmp/glib-1.1.2/grel.c ./grel.c
*** /tmp/glib-1.1.2/grel.c	Thu Jun 18 21:37:10 1998
--- ./grel.c	Thu Aug 06 14:45:36 1998
***************
*** 43,44 ****
--- 43,45 ----
  
+ GLIBAPI
  gboolean
***************
*** 52,53 ****
--- 53,55 ----
  
+ GLIBAPI
  guint
***************
*** 60,61 ****
--- 62,64 ----
  
+ GLIBAPI
  GHashFunc
***************
*** 74,75 ****
--- 77,79 ----
  
+ GLIBAPI
  GCompareFunc
***************
*** 88,89 ****
--- 92,94 ----
  
+ GLIBAPI
  GRelation*
***************
*** 110,111 ****
--- 115,117 ----
  
+ GLIBAPI
  void
***************
*** 135,136 ****
--- 141,143 ----
  
+ GLIBAPI
  void
***************
*** 148,149 ****
--- 155,157 ----
  
+ GLIBAPI
  void
***************
*** 226,227 ****
--- 234,236 ----
  
+ GLIBAPI
  gint
***************
*** 272,273 ****
--- 281,283 ----
  
+ GLIBAPI
  GTuples*
***************
*** 302,303 ****
--- 312,314 ----
  
+ GLIBAPI
  gint
***************
*** 321,322 ****
--- 332,334 ----
  
+ GLIBAPI
  gboolean
***************
*** 344,345 ****
--- 356,358 ----
  
+ GLIBAPI
  void
***************
*** 356,357 ****
--- 369,371 ----
  
+ GLIBAPI
  gpointer
***************
*** 371,372 ****
--- 385,387 ----
  
+ GLIBAPI
  void
***************
*** 391,392 ****
--- 406,408 ----
  
+ GLIBAPI
  void
***************
*** 404,405 ****
--- 420,422 ----
  
+ GLIBAPI
  void
diff -rc1 /tmp/glib-1.1.2/gscanner.c ./gscanner.c
*** /tmp/glib-1.1.2/gscanner.c	Sat Jul 25 04:02:58 1998
--- ./gscanner.c	Thu Aug 06 14:45:38 1998
***************
*** 27,29 ****
--- 27,31 ----
  #include	<stdio.h>
+ #ifdef HAVE_UNISTD_H
  #include	<unistd.h>
+ #endif
  #include	<errno.h>
***************
*** 157,158 ****
--- 159,161 ----
  
+ GLIBAPI
  GScanner*
***************
*** 234,235 ****
--- 237,239 ----
  
+ GLIBAPI
  void
***************
*** 261,262 ****
--- 265,267 ----
  
+ GLIBAPI
  void
***************
*** 290,291 ****
--- 295,297 ----
  
+ GLIBAPI 
  void
***************
*** 317,318 ****
--- 323,325 ----
  
+ GLIBAPI
  void
***************
*** 335,336 ****
--- 342,344 ----
  
+ GLIBAPI
  void
***************
*** 419,420 ****
--- 427,429 ----
  
+ GLIBAPI
  void
***************
*** 455,456 ****
--- 464,466 ----
  
+ GLIBAPI
  void
***************
*** 475,476 ****
--- 485,487 ----
  
+ GLIBAPI
  gpointer
***************
*** 498,499 ****
--- 509,511 ----
  
+ GLIBAPI
  gpointer
***************
*** 518,519 ****
--- 530,532 ----
  
+ GLIBAPI
  guint
***************
*** 553,554 ****
--- 566,568 ----
  
+ GLIBAPI
  void
***************
*** 570,571 ****
--- 584,586 ----
  
+ GLIBAPI
  void
***************
*** 578,579 ****
--- 593,595 ----
  
+ GLIBAPI
  void
***************
*** 586,587 ****
--- 602,604 ----
  
+ GLIBAPI
  GTokenType
***************
*** 605,606 ****
--- 622,624 ----
  
+ GLIBAPI
  GTokenType
***************
*** 630,631 ****
--- 648,650 ----
  
+ GLIBAPI
  GTokenType
***************
*** 638,639 ****
--- 657,659 ----
  
+ GLIBAPI
  GValue
***************
*** 649,650 ****
--- 669,671 ----
  
+ GLIBAPI
  guint
***************
*** 657,658 ****
--- 678,680 ----
  
+ GLIBAPI
  guint
***************
*** 665,666 ****
--- 687,689 ----
  
+ GLIBAPI
  gboolean
***************
*** 764,765 ****
--- 787,789 ----
  
+ GLIBAPI
  void
***************
*** 1043,1044 ****
--- 1067,1069 ----
  
+ GLIBAPI
  gint
***************
*** 1050,1053 ****
    stat_buf = g_new0 (struct stat, 1);
!   
    lstat (filename, stat_buf);
    
--- 1075,1081 ----
    stat_buf = g_new0 (struct stat, 1);
! #ifdef HAVE_LSTAT
    lstat (filename, stat_buf);
+ #else
+   stat (filename, stat_buf);
+ #endif
    
diff -rc1 /tmp/glib-1.1.2/gslist.c ./gslist.c
*** /tmp/glib-1.1.2/gslist.c	Thu Jun 11 00:21:12 1998
--- ./gslist.c	Thu Aug 06 14:45:44 1998
***************
*** 33,34 ****
--- 33,35 ----
  
+ GLIBAPI
  GListAllocator*
***************
*** 57,59 ****
  
! 
  GSList*
--- 58,60 ----
  
! GLIBAPI
  GSList*
***************
*** 80,81 ****
--- 81,83 ----
  
+ GLIBAPI
  void
***************
*** 93,94 ****
--- 95,97 ----
  
+ GLIBAPI
  void
***************
*** 103,104 ****
--- 106,108 ----
  
+ GLIBAPI
  GSList*
***************
*** 125,126 ****
--- 129,131 ----
  
+ GLIBAPI
  GSList*
***************
*** 138,139 ****
--- 143,145 ----
  
+ GLIBAPI
  GSList*
***************
*** 181,182 ****
--- 187,189 ----
  
+ GLIBAPI
  GSList *
***************
*** 195,196 ****
--- 202,204 ----
  
+ GLIBAPI
  GSList*
***************
*** 227,228 ****
--- 235,237 ----
  
+ GLIBAPI
  GSList*
***************
*** 257,258 ****
--- 266,268 ----
  
+ GLIBAPI
  GSList*
***************
*** 281,282 ****
--- 291,293 ----
  
+ GLIBAPI
  GSList*
***************
*** 291,292 ****
--- 302,304 ----
  
+ GLIBAPI
  gpointer
***************
*** 301,302 ****
--- 313,315 ----
  
+ GLIBAPI
  GSList*
***************
*** 315,316 ****
--- 328,330 ----
  
+ GLIBAPI
  GSList*
***************
*** 332,333 ****
--- 346,348 ----
  
+ GLIBAPI
  gint
***************
*** 350,351 ****
--- 365,367 ----
  
+ GLIBAPI
  gint
***************
*** 368,369 ****
--- 384,386 ----
  
+ GLIBAPI
  GSList*
***************
*** 380,381 ****
--- 397,399 ----
  
+ GLIBAPI
  guint
***************
*** 395,396 ****
--- 413,415 ----
  
+ GLIBAPI
  void
***************
*** 407,408 ****
--- 426,428 ----
  
+ GLIBAPI
  GSList*
diff -rc1 /tmp/glib-1.1.2/gstrfuncs.c ./gstrfuncs.c
*** /tmp/glib-1.1.2/gstrfuncs.c	Sat Jul 25 04:03:00 1998
--- ./gstrfuncs.c	Thu Aug 06 14:45:44 1998
***************
*** 29,30 ****
--- 29,31 ----
  
+ GLIBAPI
  gchar*
***************
*** 44,45 ****
--- 45,47 ----
  
+ GLIBAPI
  gchar*
***************
*** 80,81 ****
--- 82,84 ----
  
+ GLIBAPI
  gdouble
***************
*** 119,120 ****
--- 122,124 ----
  
+ GLIBAPI
  gchar*
***************
*** 553,554 ****
--- 557,559 ----
  
+ GLIBAPI
  gchar*
***************
*** 667,668 ****
--- 672,674 ----
  
+ GLIBAPI
  void
***************
*** 683,684 ****
--- 689,691 ----
  
+ GLIBAPI
  void
***************
*** 699,700 ****
--- 706,708 ----
  
+ GLIBAPI
  void
***************
*** 724,725 ****
--- 732,734 ----
  
+ GLIBAPI
  gint
***************
*** 749,750 ****
--- 758,760 ----
  
+ GLIBAPI
  void
diff -rc1 /tmp/glib-1.1.2/gstring.c ./gstring.c
*** /tmp/glib-1.1.2/gstring.c	Fri Jun 12 10:38:30 1998
--- ./gstring.c	Thu Aug 06 17:50:16 1998
***************
*** 51,52 ****
--- 51,53 ----
  
+ GLIBAPI
  gint
***************
*** 59,60 ****
--- 60,62 ----
  guint
+ GLIBAPI
  g_str_hash (gconstpointer v)
***************
*** 80,81 ****
--- 82,84 ----
  
+ GLIBAPI
  GStringChunk*
***************
*** 98,99 ****
--- 101,103 ----
  
+ GLIBAPI
  void
***************
*** 124,125 ****
--- 128,130 ----
  
+ GLIBAPI
  gchar*
***************
*** 160,161 ****
--- 165,167 ----
  
+ GLIBAPI
  gchar*
***************
*** 206,207 ****
--- 212,214 ----
  
+ GLIBAPI
  GString*
***************
*** 228,229 ****
--- 235,237 ----
  
+ GLIBAPI
  GString*
***************
*** 241,242 ****
--- 249,251 ----
  
+ GLIBAPI
  void
***************
*** 253,254 ****
--- 262,264 ----
  
+ GLIBAPI
  GString*
***************
*** 263,264 ****
--- 273,275 ----
  
+ GLIBAPI
  GString*
***************
*** 278,279 ****
--- 289,291 ----
  
+ GLIBAPI
  GString*
***************
*** 298,299 ****
--- 310,312 ----
  
+ GLIBAPI
  GString*
***************
*** 313,314 ****
--- 326,328 ----
  
+ GLIBAPI
  GString*
***************
*** 337,338 ****
--- 351,353 ----
  
+ GLIBAPI
  GString*
***************
*** 357,358 ****
--- 372,374 ----
  
+ GLIBAPI
  GString*
***************
*** 384,385 ****
--- 400,402 ----
  
+ GLIBAPI
  GString *
***************
*** 407,408 ****
--- 424,426 ----
  
+ GLIBAPI
  GString*
***************
*** 430,431 ****
--- 448,450 ----
  
+ GLIBAPI
  GString*
***************
*** 449,450 ****
--- 468,470 ----
  
+ GLIBAPI
  GString*
***************
*** 614,615 ****
--- 634,636 ----
  
+ GLIBAPI
  void
***************
*** 632,633 ****
--- 653,655 ----
  
+ GLIBAPI
  void
diff -rc1 /tmp/glib-1.1.2/gtimer.c ./gtimer.c
*** /tmp/glib-1.1.2/gtimer.c	Thu Jun 11 00:21:12 1998
--- ./gtimer.c	Thu Aug 06 14:45:48 1998
***************
*** 18,21 ****
--- 18,41 ----
   */
+ #include "glibconfig.h"
+ 
+ #ifndef WIN32_BUT_NO_CYGWIN
  #include <sys/time.h>
+ #else
+ #include <winsock.h>
+ #define gettimeofday(tvp,tzp) \
+   do { \
+     SYSTEMTIME systime; \
+     long seconds; \
+     do { \
+       GetSystemTime (&systime); \
+       time(&seconds); \
+     } while (systime.wSecond != (seconds % 60)); \
+     (tvp)->tv_sec = seconds; \
+     (tvp)->tv_usec = systime.wMilliseconds * 1000; \
+   } while(0)
+ #endif
+ 
+ #ifdef HAVE_UNISTD_H
  #include <unistd.h>
+ #endif
  #include "glib.h"
***************
*** 32,34 ****
  
! 
  GTimer*
--- 52,54 ----
  
! GLIBAPI
  GTimer*
***************
*** 46,47 ****
--- 66,68 ----
  
+ GLIBAPI
  void
***************
*** 54,55 ****
--- 75,77 ----
  
+ GLIBAPI
  void
***************
*** 66,67 ****
--- 88,90 ----
  
+ GLIBAPI
  void
***************
*** 78,79 ****
--- 101,103 ----
  
+ GLIBAPI
  void
***************
*** 89,90 ****
--- 113,115 ----
  
+ GLIBAPI
  gdouble
diff -rc1 /tmp/glib-1.1.2/gtree.c ./gtree.c
*** /tmp/glib-1.1.2/gtree.c	Fri Jul 31 21:21:08 1998
--- ./gtree.c	Thu Aug 06 17:50:34 1998
***************
*** 84,85 ****
--- 84,86 ----
  
+ GLIBAPI
  GTree*
***************
*** 96,97 ****
--- 97,99 ----
  
+ GLIBAPI
  void
***************
*** 109,110 ****
--- 111,113 ----
  
+ GLIBAPI
  void
***************
*** 126,127 ****
--- 129,131 ----
  
+ GLIBAPI
  void
***************
*** 139,140 ****
--- 143,145 ----
  
+ GLIBAPI
  gpointer
***************
*** 152,153 ****
--- 157,159 ----
  
+ GLIBAPI
  void
***************
*** 186,187 ****
--- 192,194 ----
  
+ GLIBAPI
  gpointer
***************
*** 202,203 ****
--- 209,211 ----
  
+ GLIBAPI
  gint
***************
*** 216,217 ****
--- 224,226 ----
  
+ GLIBAPI
  gint
diff -rc1 /tmp/glib-1.1.2/gutils.c ./gutils.c
*** /tmp/glib-1.1.2/gutils.c	Tue Aug 04 15:26:26 1998
--- ./gutils.c	Thu Aug 06 18:19:36 1998
***************
*** 18,20 ****
--- 18,23 ----
   */
+ #include "glibconfig.h"
+ #ifdef HAVE_UNISTD_H
  #include <unistd.h>
+ #endif
  #include <stdarg.h>
***************
*** 23,34 ****
  #include <string.h>
  #include <pwd.h>
  #include <sys/types.h>
  #include <sys/param.h>
  #include "glib.h"
  
! const guint glib_major_version = GLIB_MAJOR_VERSION;
! const guint glib_minor_version = GLIB_MINOR_VERSION;
! const guint glib_micro_version = GLIB_MICRO_VERSION;
! const guint glib_interface_age = GLIB_INTERFACE_AGE;
! const guint glib_binary_age = GLIB_BINARY_AGE;
  
--- 26,50 ----
  #include <string.h>
+ #ifdef HAVE_PWD_H
  #include <pwd.h>
+ #endif
  #include <sys/types.h>
+ #ifdef HAVE_SYS_PARAM_H
  #include <sys/param.h>
+ #else
+ #ifndef MAXPATHLEN
+ #ifdef PATH_MAX
+ #define MAXPATHLEN PATH_MAX
+ #else
+ #define MAXPATHLEN 1024
+ #endif
+ #endif
+ #endif
+ 
  #include "glib.h"
  
! GLIBAPI const guint glib_major_version = GLIB_MAJOR_VERSION;
! GLIBAPI const guint glib_minor_version = GLIB_MINOR_VERSION;
! GLIBAPI const guint glib_micro_version = GLIB_MICRO_VERSION;
! GLIBAPI const guint glib_interface_age = GLIB_INTERFACE_AGE;
! GLIBAPI const guint glib_binary_age = GLIB_BINARY_AGE;
  
***************
*** 36,37 ****
--- 52,54 ----
  
+ GLIBAPI
  gint
***************
*** 71,72 ****
--- 88,90 ----
  
+ GLIBAPI
  guint	     
***************
*** 117,118 ****
--- 135,137 ----
  
+ GLIBAPI
  gchar*
***************
*** 131,132 ****
--- 150,152 ----
  
+ GLIBAPI
  gchar*
***************
*** 161,162 ****
--- 181,183 ----
  
+ GLIBAPI
  gchar*
***************
*** 204,207 ****
      {
        struct passwd *pw;
!       
        g_tmp_dir = g_strdup (getenv ("TMPDIR"));
--- 225,229 ----
      {
+ #ifdef HAVE_PWD_H
        struct passwd *pw;
! #endif
        g_tmp_dir = g_strdup (getenv ("TMPDIR"));
***************
*** 216,217 ****
--- 238,240 ----
        
+ #ifdef HAVE_PWD_H
        setpwent ();
***************
*** 227,228 ****
--- 250,255 ----
  	}
+ #else
+       g_user_name = "somebody";
+       g_real_name = "John Random";
+ #endif
      }
***************
*** 230,231 ****
--- 257,259 ----
  
+ GLIBAPI
  gchar*
***************
*** 239,240 ****
--- 267,269 ----
  
+ GLIBAPI
  gchar*
***************
*** 248,249 ****
--- 277,279 ----
  
+ GLIBAPI
  gchar*
***************
*** 257,258 ****
--- 287,289 ----
  
+ GLIBAPI
  gchar*
***************
*** 268,269 ****
--- 299,301 ----
  
+ GLIBAPI
  gchar*
***************
*** 274,275 ****
--- 306,308 ----
  
+ GLIBAPI
  void
***************
*** 283,284 ****
--- 316,318 ----
  
+ GLIBAPI
  guint
***************
*** 289,290 ****
--- 323,325 ----
  
+ GLIBAPI
  gint
***************
*** 295,296 ****
--- 330,332 ----
  
+ GLIBAPI
  gint
***************
*** 301,302 ****
--- 337,339 ----
  
+ GLIBAPI
  guint
diff -rc1 /tmp/glib-1.1.2/testglib.c ./testglib.c
*** /tmp/glib-1.1.2/testglib.c	Wed Aug 05 17:54:58 1998
--- ./testglib.c	Thu Aug 06 17:57:38 1998
***************
*** 589,590 ****
--- 589,591 ----
  
+ #if 0
    g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%10000.10000f",
***************
*** 595,596 ****
--- 596,614 ----
  		    10, 666, 15, 15, 666.666666666, 666.666666666);
+ #else
+   g_string_sprintf (string2, "%s|%0100d|%s|%s|%0*d|%*.*f|%100.100f",
+ 		    "this pete guy sure is a wuss, like he's the number ",
+ 		    1,
+ 		    " wuss.  everyone agrees.\n",
+ 		    string1->str,
+ 		    10, 666, 15, 15, 666.666666666, 666.666666666);
+ #endif
+ 
+   g_print ("string2 length = %d...\n", string2->len);
+   string2->str[70] = '\0';
+   g_print ("first 70 chars:\n%s\n", string2->str);
+   string2->str[140] = '\0';
+   g_print ("next 70 chars:\n%s\n", string2->str+71);
+   string2->str[210] = '\0';
+   g_print ("and next 70:\n%s\n", string2->str+141);
+   g_print ("last 70 chars:\n%s\n", string2->str+string2->len - 70);
  
