+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in. Disabled gldouble, since
+ it wasn't used anywhere and caused portability problems
+
+Tue Dec 1 1997 Owen Taylor <owt1@cornell.edu>
+ * glib/glib.h, glib/configure.in, glib/glibconfig.h.in: Added a
+ g_memmove function which is simply memmove if it exists, otherwise
+ bcopy.(Should really check if bcopy has the correct semantics, and
+ create our own memmove is necessary)
+ * glib/gstring.c, glib/garray.c, gtk/gtktext.c:
+ memmove => g_memmove
+
+
Sun Nov 30 1997 Jay Painter <jpaint@serv.net>
* gtk/gtknotebook.c: fixed a old bug where all the notebook pages
which were not displayed when the notebook widget was realized were
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(void *)
-AC_C_LONG_DOUBLE
+# long doubles were not used, and a portability problem
+# AC_C_LONG_DOUBLE
AC_C_CONST
AC_C_INLINE
AC_CHECK_HEADERS(limits.h, AC_DEFINE(HAVE_LIMITS_H))
AC_CHECK_HEADERS(values.h, AC_DEFINE(HAVE_VALUES_H))
-# Check for strerror and strsignal functions
-AC_CHECK_FUNCS(strerror strsignal)
+# Check for strerror, strsignal, and memmove functions
+AC_CHECK_FUNCS(strerror strsignal memmove)
# Check for sys_errlist
AC_MSG_CHECKING(sys_errlist)
{
g_array_maybe_expand ((GRealArray*) array, size);
- memmove (array->data + size, array->data, array->len);
+ g_memmove (array->data + size, array->data, array->len);
memcpy (array->data, data, size);
array->len += size;
typedef float gfloat;
typedef double gdouble;
+/* HAVE_LONG_DOUBLE doesn't work correctly on all platforms.
+ * Since gldouble isn't used anywhere, just disable it for now */
+
+#if 0
#ifdef HAVE_LONG_DOUBLE
typedef long double gldouble;
#else /* HAVE_LONG_DOUBLE */
typedef double gldouble;
#endif /* HAVE_LONG_DOUBLE */
+#endif /* 0 */
typedef void* gpointer;
gchar* g_strerror (gint errnum);
gchar* g_strsignal (gint signum);
+/* We make the assumption that if memmove isn't available, then
+ * bcopy will do the job. This isn't safe everywhere. (bcopy can't
+ * necessarily handle overlapping copies) */
+#ifdef HAVE_MEMMOVE
+#define g_memmove memmove
+#else
+#define g_memmove(a,b,c) bcopy(b,a,c)
+#endif
/* Errors
*/
#undef HAVE_DOPRNT
#undef HAVE_FLOAT_H
#undef HAVE_LIMITS_H
-#undef HAVE_LONG_DOUBLE
#undef HAVE_SYS_SELECT_H
#undef HAVE_STRERROR
#undef HAVE_STRSIGNAL
/* Define if you have the strsignal function. */
#undef HAVE_STRSIGNAL
+/* Define if you have the memmove function */
+#undef HAVE_MEMMOVE
+
/* Define if you have the <float.h> header file. */
#undef HAVE_FLOAT_H
g_string_maybe_expand (string, len);
- memmove (string->str, string->str + len, string->len);
+ g_memmove (string->str, string->str + len, string->len);
strncpy (string->str, val, len);
g_string_maybe_expand (string, 1);
- memmove (string->str, string->str + 1, string->len);
+ g_memmove (string->str, string->str + 1, string->len);
string->str[0] = c;
{
gint diff = text->point.index - text->gap_position;
- memmove (text->text + text->gap_position,
- text->text + text->gap_position + text->gap_size,
- diff);
+ g_memmove (text->text + text->gap_position,
+ text->text + text->gap_position + text->gap_size,
+ diff);
text->gap_position = text->point.index;
}
{
gint diff = text->gap_position - text->point.index;
- memmove (text->text + text->point.index + text->gap_size,
- text->text + text->point.index,
- diff);
+ g_memmove (text->text + text->point.index + text->gap_size,
+ text->text + text->point.index,
+ diff);
text->gap_position = text->point.index;
}
text->text = (guchar*)g_realloc(text->text, i);
}
- memmove (text->text + text->gap_position + text->gap_size + 2*len,
- text->text + text->gap_position + text->gap_size,
- text->text_end - (text->gap_position + text->gap_size));
+ g_memmove (text->text + text->gap_position + text->gap_size + 2*len,
+ text->text + text->gap_position + text->gap_size,
+ text->text_end - (text->gap_position + text->gap_size));
text->text_end += len*2;
text->gap_size += len*2;