changeset 3706:6581e686f83f

[project @ 2000-07-25 05:30:02 by jwe]
author jwe
date Tue, 25 Jul 2000 05:30:02 +0000
parents 7e90f4e9a4d5
children 58140935c812
files liboctave/ChangeLog liboctave/lo-cutils.c liboctave/lo-utils.h liboctave/oct-time.cc
diffstat 4 files changed, 19 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/ChangeLog	Sat Jul 22 01:57:28 2000 +0000
+++ b/liboctave/ChangeLog	Tue Jul 25 05:30:02 2000 +0000
@@ -1,3 +1,9 @@
+2000-07-25  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* lo-cutils.c (oct_strptime): New function.
+	* oct-time.cc (octave_strptime::init): Call it instead of strptime.
+	Don't declare strptime.  Don't define _XOPEN_SOURCE or _BSD_SOURCE.
+
 2000-07-18  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* oct-time.cc: Comment out _BSD_SOURCE and _XOPEN_SOURCE definitions.
--- a/liboctave/lo-cutils.c	Sat Jul 22 01:57:28 2000 +0000
+++ b/liboctave/lo-cutils.c	Tue Jul 25 05:30:02 2000 +0000
@@ -25,6 +25,7 @@
 #endif
 
 #include <stdlib.h>
+#include <time.h>
 
 void
 octave_qsort (void *base, size_t n, size_t size,
@@ -33,6 +34,14 @@
   qsort (base, n, size, cmp);
 }
 
+extern char *strptime ();
+
+char *
+oct_strptime (const char *buf, const char *format, struct tm *tm)
+{
+  return strptime (buf, format, tm);
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***
--- a/liboctave/lo-utils.h	Sat Jul 22 01:57:28 2000 +0000
+++ b/liboctave/lo-utils.h	Tue Jul 25 05:30:02 2000 +0000
@@ -39,6 +39,9 @@
 extern "C" void octave_qsort (void *base, size_t n, size_t size,
 			      int (*cmp) (const void *, const void *));
 
+extern "C" char *oct_strptime (const char *buf, const char *format,
+			       struct tm *tm);
+
 #endif
 
 /*
--- a/liboctave/oct-time.cc	Sat Jul 22 01:57:28 2000 +0000
+++ b/liboctave/oct-time.cc	Tue Jul 25 05:30:02 2000 +0000
@@ -24,33 +24,6 @@
 #include <config.h>
 #endif
 
-#if 0
-
-// The following definitions are commented out because they cause
-// trouble on some systems.  What is really needed is a feature test
-// in the configure script.
-
-// I am told that without _BSD_SOURCE, tm_zone won't be declared on
-// some systems.  Defining _XOPEN_SOURCE provides the declaration for
-// strptime on some others.
-//
-// These defines go here, before any system header files are included,
-// because the system header files may define other macros that are
-// actually used to determine the feature set.  If we wait until after
-// some system header file is included, it may be too late.
-
-#if !defined (_BSD_SOURCE)
-#define _BSD_SOURCE 1
-#define OCTAVE_UNDEFINE_BSD_SOURCE
-#endif
-
-#if !defined (_XOPEN_SOURCE)
-#define _XOPEN_SOURCE 1
-#define OCTAVE_UNDEFINE_XOPEN_SOURCE
-#endif
-
-#endif
-
 #include <climits>
 #include <cmath>
 
@@ -65,18 +38,6 @@
 #include "lo-utils.h"
 #include "oct-time.h"
 
-#if defined (OCTAVE_UNDEFINE_BSD_SOURCE)
-#undef _BSD_SOURCE
-#endif
-
-#if defined (OCTAVE_UNDEFINE_XOPEN_SOURCE)
-#undef _XOPEN_SOURCE
-#endif
-
-#if !defined (HAVE_STRPTIME)
-extern "C" char *strptime (const char *buf, const char *format, struct tm *tm);
-#endif
-
 octave_time::octave_time (const octave_base_tm& tm)
 {
   struct tm t;
@@ -286,7 +247,7 @@
 
   char *p = strsave (str.c_str ());
 
-  char *q = strptime (p, fmt.c_str (), &t);
+  char *q = oct_strptime (p, fmt.c_str (), &t);
 
   nchars = p - q;