summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authormonty@butch. <>2002-11-07 03:54:00 +0200
committermonty@butch. <>2002-11-07 03:54:00 +0200
commita2bdf9265f3a0874f8d58bec690da4af07bca4cb (patch)
tree2cbd26b72e2ab9ce6d8a7e6cf96fab865fec9834 /include
parent5333cfb4298899c0985fc07f229c99866ef656cc (diff)
downloadmariadb-git-a2bdf9265f3a0874f8d58bec690da4af07bca4cb.tar.gz
Portability fixes for Fortre C++ 5.0 (on Sun) in 32 and 64 bit modes.
Diffstat (limited to 'include')
-rw-r--r--include/my_global.h31
-rw-r--r--include/myisam.h2
-rw-r--r--include/queues.h5
3 files changed, 19 insertions, 19 deletions
diff --git a/include/my_global.h b/include/my_global.h
index 5a8e3b2cba7..f356cb1646b 100644
--- a/include/my_global.h
+++ b/include/my_global.h
@@ -38,6 +38,14 @@
#define HAVE_ERRNO_AS_DEFINE
#endif /* __CYGWIN__ */
+/* Macros to make switching between C and C++ mode easier */
+#ifdef __cplusplus
+#define C_MODE_START extern "C" {
+#define C_MODE_END }
+#else
+#define C_MODE_START
+#define C_MODE_END
+#endif
#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(WIN32)
#include <config-win.h>
@@ -121,13 +129,9 @@
/* #define _AIX32_CURSES */ /* XXX: this breaks AIX 4.3.3 (others?). */
#define ulonglong2double(A) my_ulonglong2double(A)
#define my_off_t2double(A) my_ulonglong2double(A)
-#ifdef __cplusplus
-extern "C" {
-#endif
+C_MODE_START
double my_ulonglong2double(unsigned long long A);
-#ifdef __cplusplus
-}
-#endif
+C_MODE_END
#endif /* _AIX */
#ifdef HAVE_BROKEN_SNPRINTF /* HPUX 10.20 don't have this defined */
@@ -385,7 +389,9 @@ typedef int my_socket; /* File descriptor for sockets */
#endif
/* Type for fuctions that handles signals */
#define sig_handler RETSIGTYPE
+C_MODE_START
typedef void (*sig_return)();/* Returns type from signal */
+C_MODE_END
#if defined(__GNUC__) && !defined(_lint)
typedef char pchar; /* Mixed prototypes can take char */
typedef char puchar; /* Mixed prototypes can take char */
@@ -399,8 +405,10 @@ typedef int pbool; /* Mixed prototypes can't take char */
typedef int pshort; /* Mixed prototypes can't take short int */
typedef double pfloat; /* Mixed prototypes can't take float */
#endif
+C_MODE_START
typedef int (*qsort_cmp)(const void *,const void *);
typedef int (*qsort_cmp2)(void*, const void *,const void *);
+C_MODE_END
#ifdef HAVE_mit_thread
#define qsort_t void
#undef QSORT_TYPE_IS_VOID
@@ -1038,13 +1046,4 @@ typedef union {
#define statistic_add(V,C,L) (V)+=(C)
#endif
-/* Macros to make switching between C and C++ mode easier */
-#ifdef __cplusplus
-#define C_MODE_START extern "C" {
-#define C_MODE_END }
-#else
-#define C_MODE_START
-#define C_MODE_END
-#endif
-
-#endif /* _global_h */
+#endif /* my_global_h */
diff --git a/include/myisam.h b/include/myisam.h
index ff8544ba492..79d18bf8736 100644
--- a/include/myisam.h
+++ b/include/myisam.h
@@ -296,7 +296,7 @@ extern uint mi_get_pointer_length(ulonglong file_length, uint def);
#define T_VERBOSE (1L << 28)
#define T_VERY_SILENT (1L << 29)
#define T_WAIT_FOREVER (1L << 30)
-#define T_WRITE_LOOP (1L << 31)
+#define T_WRITE_LOOP ((ulong) 1L << 31)
#define T_REP_ANY (T_REP | T_REP_BY_SORT | T_REP_PARALLEL)
diff --git a/include/queues.h b/include/queues.h
index 70cb99a1513..699705d0869 100644
--- a/include/queues.h
+++ b/include/queues.h
@@ -41,12 +41,13 @@ typedef struct st_queue {
#define queue_element(queue,index) ((queue)->root[index+1])
#define queue_end(queue) ((queue)->root[(queue)->elements])
#define queue_replaced(queue) _downheap(queue,1)
+typedef int (*queue_compare)(void *,byte *, byte *);
int init_queue(QUEUE *queue,uint max_elements,uint offset_to_key,
- pbool max_at_top, int (*compare)(void *,byte *, byte *),
+ pbool max_at_top, queue_compare compare,
void *first_cmp_arg);
int reinit_queue(QUEUE *queue,uint max_elements,uint offset_to_key,
- pbool max_at_top, int (*compare)(void *,byte *, byte *),
+ pbool max_at_top, queue_compare compare,
void *first_cmp_arg);
void delete_queue(QUEUE *queue);
void queue_insert(QUEUE *queue,byte *element);