diff options
author | unknown <guilhem@gbichot4.local> | 2008-04-03 15:40:25 +0200 |
---|---|---|
committer | unknown <guilhem@gbichot4.local> | 2008-04-03 15:40:25 +0200 |
commit | f094eff1d9d0c3cc101c6506b710a054228c8691 (patch) | |
tree | be93a10c6b779c7ccf85949a660b4c8aa236cf57 /include/myisampack.h | |
parent | 50808b211527a165386b771c6f13d3ca7ba29f1a (diff) | |
download | mariadb-git-f094eff1d9d0c3cc101c6506b710a054228c8691.tar.gz |
Injecting more "const" declarations into code which does not change
pointed data.
I ran gcc -Wcast-qual on storage/maria, this identified un-needed casts,
a couple of functions which said they had a const parameter though
they changed the pointed content! This is fixed here. Some suspicious
places receive a comment.
The original intention of running -Wcast-qual was to find what code
changes R-tree keys: I added const words, but hidden casts
like those of int2store (casts target to (uint16*)) removed const
checking; -Wcast-qual helped find those hidden casts.
Log handler does not change the content pointed by LEX_STRING::str it
receives, so we now use a struct which has a const inside, to emphasize
this and be able to pass "const uchar*" buffers to log handler
without fear of their content being changed by it.
One-line fix for a merge glitch (when merging from MyISAM).
include/m_string.h:
As Maria's log handler uses LEX_STRING but never changes the content
pointed by LEX_STRING::str, and assigns uchar* into this member most
of the time, we introduce a new struct LEX_CUSTRING
(C const U unsigned) for the log handler.
include/my_global.h:
In macros which read pointed content: use const pointers so that
gcc -Wcast-qual does not warn about casting a const pointer to non-const.
include/my_handler.h:
In macros which read pointed content: use const pointers so that
gcc -Wcast-qual does not warn about casting a const pointer to non-const.
ha_find_null() does not change *a.
include/my_sys.h:
insert_dynamic() does not change *element.
include/myisampack.h:
In macros which read pointed content: use const pointers so that
gcc -Wcast-qual does not warn about casting a const pointer to non-const.
mysys/array.c:
insert_dynamic() does not change *element
mysys/my_handler.c:
ha_find_null() does not change *a
storage/maria/ma_bitmap.c:
Log handler receives const strings now
storage/maria/ma_blockrec.c:
Log handler receives const strings now.
_ma_apply_undo_row_delete/update() do change *header.
storage/maria/ma_blockrec.h:
correct prototype
storage/maria/ma_check.c:
Log handler receives const strings now. Un-needed casts
storage/maria/ma_checkpoint.c:
Log handler receives const strings now
storage/maria/ma_checksum.c:
unneeded cast
storage/maria/ma_commit.c:
Log handler receives const strings now
storage/maria/ma_create.c:
Log handler receives const strings now
storage/maria/ma_dbug.c:
fixing warning of gcc -Wcast-qual
storage/maria/ma_delete.c:
Log handler receives const strings now
storage/maria/ma_delete_all.c:
Log handler receives const strings now
storage/maria/ma_delete_table.c:
Log handler receives const strings now
storage/maria/ma_dynrec.c:
fixing some warnings of gcc -Wcast-qual. Unneeded casts removed.
Comment about function which lies.
storage/maria/ma_ft_parser.c:
fix for warnings of gcc -Wcast-qual, removing unneeded casts
storage/maria/ma_ft_update.c:
less casts, comment
storage/maria/ma_key.c:
less casts, stay const (warnings of gcc -Wcast-qual)
storage/maria/ma_key_recover.c:
Log handler receives const strings now
storage/maria/ma_loghandler.c:
Log handler receives const strings now
storage/maria/ma_loghandler.h:
Log handler receives const strings now
storage/maria/ma_loghandler_lsn.h:
In macros which read pointed content: use const pointers so that
gcc -Wcast-qual does not warn about casting a const pointer to non-const.
storage/maria/ma_page.c:
Log handler receives const strings now; more const
storage/maria/ma_recovery.c:
Log handler receives const strings now
storage/maria/ma_rename.c:
Log handler receives const strings now
storage/maria/ma_rt_index.c:
more const, to emphasize that functions don't change pointed content.
best_key= NULL was forgotten during merge from MyISAM a few days ago,
was causing a Valgrind warning
storage/maria/ma_rt_index.h:
new proto
storage/maria/ma_rt_key.c:
more const
storage/maria/ma_rt_key.h:
new proto
storage/maria/ma_rt_mbr.c:
more const for functions which deserve it
storage/maria/ma_rt_mbr.h:
new prototype
storage/maria/ma_rt_split.c:
make const what is not changed.
storage/maria/ma_search.c:
un-needed casts, more const
storage/maria/ma_sp_key.c:
more const
storage/maria/ma_unique.c:
un-needed casts.
storage/maria/ma_write.c:
Log handler receives const strings now
storage/maria/maria_def.h:
some more const
storage/maria/unittest/ma_test_loghandler-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_first_lsn-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_max_lsn-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_multigroup-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_multithread-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_noflush-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_nologs-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_pagecache-t.c:
Log handler receives const strings now
storage/maria/unittest/ma_test_loghandler_purge-t.c:
Log handler receives const strings now
Diffstat (limited to 'include/myisampack.h')
-rw-r--r-- | include/myisampack.h | 220 |
1 files changed, 110 insertions, 110 deletions
diff --git a/include/myisampack.h b/include/myisampack.h index 7d4871bd1cb..34a085e4e5a 100644 --- a/include/myisampack.h +++ b/include/myisampack.h @@ -24,58 +24,58 @@ #define mi_sint1korr(A) ((int8)(*A)) #define mi_uint1korr(A) ((uint8)(*A)) -#define mi_sint2korr(A) ((int16) (((int16) (((uchar*) (A))[1])) +\ - ((int16) ((int16) ((char*) (A))[0]) << 8))) -#define mi_sint3korr(A) ((int32) (((((uchar*) (A))[0]) & 128) ? \ +#define mi_sint2korr(A) ((int16) (((int16) (((const uchar*) (A))[1])) +\ + ((int16) ((int16) ((const char*) (A))[0]) << 8))) +#define mi_sint3korr(A) ((int32) (((((const uchar*) (A))[0]) & 128) ? \ (((uint32) 255L << 24) | \ - (((uint32) ((uchar*) (A))[0]) << 16) |\ - (((uint32) ((uchar*) (A))[1]) << 8) | \ - ((uint32) ((uchar*) (A))[2])) : \ - (((uint32) ((uchar*) (A))[0]) << 16) |\ - (((uint32) ((uchar*) (A))[1]) << 8) | \ - ((uint32) ((uchar*) (A))[2]))) -#define mi_sint4korr(A) ((int32) (((int32) (((uchar*) (A))[3])) +\ - ((int32) (((uchar*) (A))[2]) << 8) +\ - ((int32) (((uchar*) (A))[1]) << 16) +\ - ((int32) ((int16) ((char*) (A))[0]) << 24))) + (((uint32) ((const uchar*) (A))[0]) << 16) |\ + (((uint32) ((const uchar*) (A))[1]) << 8) | \ + ((uint32) ((const uchar*) (A))[2])) : \ + (((uint32) ((const uchar*) (A))[0]) << 16) |\ + (((uint32) ((const uchar*) (A))[1]) << 8) | \ + ((uint32) ((const uchar*) (A))[2]))) +#define mi_sint4korr(A) ((int32) (((int32) (((const uchar*) (A))[3])) +\ + ((int32) (((const uchar*) (A))[2]) << 8) +\ + ((int32) (((const uchar*) (A))[1]) << 16) +\ + ((int32) ((int16) ((const char*) (A))[0]) << 24))) #define mi_sint8korr(A) ((longlong) mi_uint8korr(A)) -#define mi_uint2korr(A) ((uint16) (((uint16) (((uchar*) (A))[1])) +\ - ((uint16) (((uchar*) (A))[0]) << 8))) -#define mi_uint3korr(A) ((uint32) (((uint32) (((uchar*) (A))[2])) +\ - (((uint32) (((uchar*) (A))[1])) << 8) +\ - (((uint32) (((uchar*) (A))[0])) << 16))) -#define mi_uint4korr(A) ((uint32) (((uint32) (((uchar*) (A))[3])) +\ - (((uint32) (((uchar*) (A))[2])) << 8) +\ - (((uint32) (((uchar*) (A))[1])) << 16) +\ - (((uint32) (((uchar*) (A))[0])) << 24))) -#define mi_uint5korr(A) ((ulonglong)(((uint32) (((uchar*) (A))[4])) +\ - (((uint32) (((uchar*) (A))[3])) << 8) +\ - (((uint32) (((uchar*) (A))[2])) << 16) +\ - (((uint32) (((uchar*) (A))[1])) << 24)) +\ - (((ulonglong) (((uchar*) (A))[0])) << 32)) -#define mi_uint6korr(A) ((ulonglong)(((uint32) (((uchar*) (A))[5])) +\ - (((uint32) (((uchar*) (A))[4])) << 8) +\ - (((uint32) (((uchar*) (A))[3])) << 16) +\ - (((uint32) (((uchar*) (A))[2])) << 24)) +\ - (((ulonglong) (((uint32) (((uchar*) (A))[1])) +\ - (((uint32) (((uchar*) (A))[0]) << 8)))) <<\ +#define mi_uint2korr(A) ((uint16) (((uint16) (((const uchar*) (A))[1])) +\ + ((uint16) (((const uchar*) (A))[0]) << 8))) +#define mi_uint3korr(A) ((uint32) (((uint32) (((const uchar*) (A))[2])) +\ + (((uint32) (((const uchar*) (A))[1])) << 8) +\ + (((uint32) (((const uchar*) (A))[0])) << 16))) +#define mi_uint4korr(A) ((uint32) (((uint32) (((const uchar*) (A))[3])) +\ + (((uint32) (((const uchar*) (A))[2])) << 8) +\ + (((uint32) (((const uchar*) (A))[1])) << 16) +\ + (((uint32) (((const uchar*) (A))[0])) << 24))) +#define mi_uint5korr(A) ((ulonglong)(((uint32) (((const uchar*) (A))[4])) +\ + (((uint32) (((const uchar*) (A))[3])) << 8) +\ + (((uint32) (((const uchar*) (A))[2])) << 16) +\ + (((uint32) (((const uchar*) (A))[1])) << 24)) +\ + (((ulonglong) (((const uchar*) (A))[0])) << 32)) +#define mi_uint6korr(A) ((ulonglong)(((uint32) (((const uchar*) (A))[5])) +\ + (((uint32) (((const uchar*) (A))[4])) << 8) +\ + (((uint32) (((const uchar*) (A))[3])) << 16) +\ + (((uint32) (((const uchar*) (A))[2])) << 24)) +\ + (((ulonglong) (((uint32) (((const uchar*) (A))[1])) +\ + (((uint32) (((const uchar*) (A))[0]) << 8)))) <<\ 32)) -#define mi_uint7korr(A) ((ulonglong)(((uint32) (((uchar*) (A))[6])) +\ - (((uint32) (((uchar*) (A))[5])) << 8) +\ - (((uint32) (((uchar*) (A))[4])) << 16) +\ - (((uint32) (((uchar*) (A))[3])) << 24)) +\ - (((ulonglong) (((uint32) (((uchar*) (A))[2])) +\ - (((uint32) (((uchar*) (A))[1])) << 8) +\ - (((uint32) (((uchar*) (A))[0])) << 16))) <<\ +#define mi_uint7korr(A) ((ulonglong)(((uint32) (((const uchar*) (A))[6])) +\ + (((uint32) (((const uchar*) (A))[5])) << 8) +\ + (((uint32) (((const uchar*) (A))[4])) << 16) +\ + (((uint32) (((const uchar*) (A))[3])) << 24)) +\ + (((ulonglong) (((uint32) (((const uchar*) (A))[2])) +\ + (((uint32) (((const uchar*) (A))[1])) << 8) +\ + (((uint32) (((const uchar*) (A))[0])) << 16))) <<\ 32)) -#define mi_uint8korr(A) ((ulonglong)(((uint32) (((uchar*) (A))[7])) +\ - (((uint32) (((uchar*) (A))[6])) << 8) +\ - (((uint32) (((uchar*) (A))[5])) << 16) +\ - (((uint32) (((uchar*) (A))[4])) << 24)) +\ - (((ulonglong) (((uint32) (((uchar*) (A))[3])) +\ - (((uint32) (((uchar*) (A))[2])) << 8) +\ - (((uint32) (((uchar*) (A))[1])) << 16) +\ - (((uint32) (((uchar*) (A))[0])) << 24))) <<\ +#define mi_uint8korr(A) ((ulonglong)(((uint32) (((const uchar*) (A))[7])) +\ + (((uint32) (((const uchar*) (A))[6])) << 8) +\ + (((uint32) (((const uchar*) (A))[5])) << 16) +\ + (((uint32) (((const uchar*) (A))[4])) << 24)) +\ + (((ulonglong) (((uint32) (((const uchar*) (A))[3])) +\ + (((uint32) (((const uchar*) (A))[2])) << 8) +\ + (((uint32) (((const uchar*) (A))[1])) << 16) +\ + (((uint32) (((const uchar*) (A))[0])) << 24))) <<\ 32)) /* This one is for uniformity */ @@ -132,85 +132,85 @@ ((uchar*) (T))[3]= ((uchar*) &A)[3]; } #define mi_float4get(V,M) { float def_temp;\ - ((uchar*) &def_temp)[0]= ((uchar*) (M))[0];\ - ((uchar*) &def_temp)[1]= ((uchar*) (M))[1];\ - ((uchar*) &def_temp)[2]= ((uchar*) (M))[2];\ - ((uchar*) &def_temp)[3]= ((uchar*) (M))[3];\ + ((uchar*) &def_temp)[0]= ((const uchar*) (M))[0];\ + ((uchar*) &def_temp)[1]= ((const uchar*) (M))[1]; \ + ((uchar*) &def_temp)[2]= ((const uchar*) (M))[2];\ + ((uchar*) &def_temp)[3]= ((const uchar*) (M))[3];\ (V)= def_temp; } -#define mi_float8store(T,V) { ((uchar*) (T))[0]= ((uchar*) &V)[0];\ - ((uchar*) (T))[1]= ((uchar*) &V)[1];\ - ((uchar*) (T))[2]= ((uchar*) &V)[2];\ - ((uchar*) (T))[3]= ((uchar*) &V)[3];\ - ((uchar*) (T))[4]= ((uchar*) &V)[4];\ - ((uchar*) (T))[5]= ((uchar*) &V)[5];\ - ((uchar*) (T))[6]= ((uchar*) &V)[6];\ - ((uchar*) (T))[7]= ((uchar*) &V)[7]; } +#define mi_float8store(T,V) { ((uchar*) (T))[0]= ((const uchar*) &V)[0];\ + ((uchar*) (T))[1]= ((const uchar*) &V)[1];\ + ((uchar*) (T))[2]= ((const uchar*) &V)[2];\ + ((uchar*) (T))[3]= ((const uchar*) &V)[3];\ + ((uchar*) (T))[4]= ((const uchar*) &V)[4];\ + ((uchar*) (T))[5]= ((const uchar*) &V)[5];\ + ((uchar*) (T))[6]= ((const uchar*) &V)[6];\ + ((uchar*) (T))[7]= ((const uchar*) &V)[7]; } #define mi_float8get(V,M) { double def_temp;\ - ((uchar*) &def_temp)[0]= ((uchar*) (M))[0];\ - ((uchar*) &def_temp)[1]= ((uchar*) (M))[1];\ - ((uchar*) &def_temp)[2]= ((uchar*) (M))[2];\ - ((uchar*) &def_temp)[3]= ((uchar*) (M))[3];\ - ((uchar*) &def_temp)[4]= ((uchar*) (M))[4];\ - ((uchar*) &def_temp)[5]= ((uchar*) (M))[5];\ - ((uchar*) &def_temp)[6]= ((uchar*) (M))[6];\ - ((uchar*) &def_temp)[7]= ((uchar*) (M))[7]; \ + ((uchar*) &def_temp)[0]= ((const uchar*) (M))[0];\ + ((uchar*) &def_temp)[1]= ((const uchar*) (M))[1];\ + ((uchar*) &def_temp)[2]= ((const uchar*) (M))[2];\ + ((uchar*) &def_temp)[3]= ((const uchar*) (M))[3];\ + ((uchar*) &def_temp)[4]= ((const uchar*) (M))[4];\ + ((uchar*) &def_temp)[5]= ((const uchar*) (M))[5];\ + ((uchar*) &def_temp)[6]= ((const uchar*) (M))[6];\ + ((uchar*) &def_temp)[7]= ((const uchar*) (M))[7]; \ (V)= def_temp; } #else -#define mi_float4store(T,A) { ((uchar*) (T))[0]= ((uchar*) &A)[3];\ - ((uchar*) (T))[1]= ((uchar*) &A)[2];\ - ((uchar*) (T))[2]= ((uchar*) &A)[1];\ - ((uchar*) (T))[3]= ((uchar*) &A)[0]; } +#define mi_float4store(T,A) { ((uchar*) (T))[0]= ((const uchar*) &A)[3];\ + ((uchar*) (T))[1]= ((const uchar*) &A)[2];\ + ((uchar*) (T))[2]= ((const uchar*) &A)[1];\ + ((uchar*) (T))[3]= ((const uchar*) &A)[0]; } #define mi_float4get(V,M) { float def_temp;\ - ((uchar*) &def_temp)[0]= ((uchar*) (M))[3];\ - ((uchar*) &def_temp)[1]= ((uchar*) (M))[2];\ - ((uchar*) &def_temp)[2]= ((uchar*) (M))[1];\ - ((uchar*) &def_temp)[3]= ((uchar*) (M))[0];\ + ((uchar*) &def_temp)[0]= ((const uchar*) (M))[3];\ + ((uchar*) &def_temp)[1]= ((const uchar*) (M))[2];\ + ((uchar*) &def_temp)[2]= ((const uchar*) (M))[1];\ + ((uchar*) &def_temp)[3]= ((const uchar*) (M))[0];\ (V)= def_temp; } #if defined(__FLOAT_WORD_ORDER) && (__FLOAT_WORD_ORDER == __BIG_ENDIAN) -#define mi_float8store(T,V) { ((uchar*) (T))[0]= ((uchar*) &V)[3];\ - ((uchar*) (T))[1]= ((uchar*) &V)[2];\ - ((uchar*) (T))[2]= ((uchar*) &V)[1];\ - ((uchar*) (T))[3]= ((uchar*) &V)[0];\ - ((uchar*) (T))[4]= ((uchar*) &V)[7];\ - ((uchar*) (T))[5]= ((uchar*) &V)[6];\ - ((uchar*) (T))[6]= ((uchar*) &V)[5];\ - ((uchar*) (T))[7]= ((uchar*) &V)[4];} +#define mi_float8store(T,V) { ((uchar*) (T))[0]= ((const uchar*) &V)[3];\ + ((uchar*) (T))[1]= ((const uchar*) &V)[2];\ + ((uchar*) (T))[2]= ((const uchar*) &V)[1];\ + ((uchar*) (T))[3]= ((const uchar*) &V)[0];\ + ((uchar*) (T))[4]= ((const uchar*) &V)[7];\ + ((uchar*) (T))[5]= ((const uchar*) &V)[6];\ + ((uchar*) (T))[6]= ((const uchar*) &V)[5];\ + ((uchar*) (T))[7]= ((const uchar*) &V)[4];} #define mi_float8get(V,M) { double def_temp;\ - ((uchar*) &def_temp)[0]= ((uchar*) (M))[3];\ - ((uchar*) &def_temp)[1]= ((uchar*) (M))[2];\ - ((uchar*) &def_temp)[2]= ((uchar*) (M))[1];\ - ((uchar*) &def_temp)[3]= ((uchar*) (M))[0];\ - ((uchar*) &def_temp)[4]= ((uchar*) (M))[7];\ - ((uchar*) &def_temp)[5]= ((uchar*) (M))[6];\ - ((uchar*) &def_temp)[6]= ((uchar*) (M))[5];\ - ((uchar*) &def_temp)[7]= ((uchar*) (M))[4];\ + ((uchar*) &def_temp)[0]= ((const uchar*) (M))[3];\ + ((uchar*) &def_temp)[1]= ((const uchar*) (M))[2];\ + ((uchar*) &def_temp)[2]= ((const uchar*) (M))[1];\ + ((uchar*) &def_temp)[3]= ((const uchar*) (M))[0];\ + ((uchar*) &def_temp)[4]= ((const uchar*) (M))[7];\ + ((uchar*) &def_temp)[5]= ((const uchar*) (M))[6];\ + ((uchar*) &def_temp)[6]= ((const uchar*) (M))[5];\ + ((uchar*) &def_temp)[7]= ((const uchar*) (M))[4];\ (V)= def_temp; } #else -#define mi_float8store(T,V) { ((uchar*) (T))[0]= ((uchar*) &V)[7];\ - ((uchar*) (T))[1]= ((uchar*) &V)[6];\ - ((uchar*) (T))[2]= ((uchar*) &V)[5];\ - ((uchar*) (T))[3]= ((uchar*) &V)[4];\ - ((uchar*) (T))[4]= ((uchar*) &V)[3];\ - ((uchar*) (T))[5]= ((uchar*) &V)[2];\ - ((uchar*) (T))[6]= ((uchar*) &V)[1];\ - ((uchar*) (T))[7]= ((uchar*) &V)[0];} +#define mi_float8store(T,V) { ((uchar*) (T))[0]= ((const uchar*) &V)[7];\ + ((uchar*) (T))[1]= ((const uchar*) &V)[6];\ + ((uchar*) (T))[2]= ((const uchar*) &V)[5];\ + ((uchar*) (T))[3]= ((const uchar*) &V)[4];\ + ((uchar*) (T))[4]= ((const uchar*) &V)[3];\ + ((uchar*) (T))[5]= ((const uchar*) &V)[2];\ + ((uchar*) (T))[6]= ((const uchar*) &V)[1];\ + ((uchar*) (T))[7]= ((const uchar*) &V)[0];} #define mi_float8get(V,M) { double def_temp;\ - ((uchar*) &def_temp)[0]= ((uchar*) (M))[7];\ - ((uchar*) &def_temp)[1]= ((uchar*) (M))[6];\ - ((uchar*) &def_temp)[2]= ((uchar*) (M))[5];\ - ((uchar*) &def_temp)[3]= ((uchar*) (M))[4];\ - ((uchar*) &def_temp)[4]= ((uchar*) (M))[3];\ - ((uchar*) &def_temp)[5]= ((uchar*) (M))[2];\ - ((uchar*) &def_temp)[6]= ((uchar*) (M))[1];\ - ((uchar*) &def_temp)[7]= ((uchar*) (M))[0];\ + ((uchar*) &def_temp)[0]= ((const uchar*) (M))[7];\ + ((uchar*) &def_temp)[1]= ((const uchar*) (M))[6];\ + ((uchar*) &def_temp)[2]= ((const uchar*) (M))[5];\ + ((uchar*) &def_temp)[3]= ((const uchar*) (M))[4];\ + ((uchar*) &def_temp)[4]= ((const uchar*) (M))[3];\ + ((uchar*) &def_temp)[5]= ((const uchar*) (M))[2];\ + ((uchar*) &def_temp)[6]= ((const uchar*) (M))[1];\ + ((uchar*) &def_temp)[7]= ((const uchar*) (M))[0];\ (V)= def_temp; } #endif /* __FLOAT_WORD_ORDER */ #endif /* WORDS_BIGENDIAN */ @@ -223,7 +223,7 @@ #else #define mi_rowstore(T,A) { mi_int4store(T, 0);\ mi_int4store(((uchar*) (T) + 4), A); } -#define mi_rowkorr(T) mi_uint4korr((uchar*) (T) + 4) +#define mi_rowkorr(T) mi_uint4korr((const uchar*) (T) + 4) #endif #if SIZEOF_OFF_T > 4 @@ -234,5 +234,5 @@ bfill((char*) (T), 8, 255);\ else { mi_int4store((T), 0);\ mi_int4store(((T) + 4), A); }} -#define mi_sizekorr(T) mi_uint4korr((uchar*) (T) + 4) +#define mi_sizekorr(T) mi_uint4korr((const uchar*) (T) + 4) #endif |