mariadb/include
Daniel Black 807e4f320f Change my_umask{,_dir} to mode_t and remove os_innodb_umask
os_innodb_umask was of the incorrect type resulting in warnings
in clang-19. The correct type is mode_t.

As os_innodb_umask was set during innnodb_init from my_umask,
corrected the type there along with its companion my_umask_dir.
Because of this, the defaults mask values in innodb never
had an effect.

The resulting change allow found signed differences in
my_create{,_nosymlink}, open_nosymlinks:

mysys/my_create.c:47:20: error: operand of ?: changes signedness from ‘int’ to ‘mode_t’ {aka ‘unsigned int’} due to unsignedness of other operand [-Werror=sign-compare]
   47 |      CreateFlags ? CreateFlags : my_umask);

Ref: clang-19 warnings:

[55/123] Building CXX object storage/innobase/CMakeFiles/innobase.dir/os/os0file.cc.o
storage/innobase/os/os0file.cc:1075:46: warning: implicit conversion loses integer precision: 'ulint' (aka 'unsigned long') to 'mode_t' (aka 'unsigned int') [-Wshorten-64-to-32]
 1075 |                 file = open(name, create_flag | O_CLOEXEC, os_innodb_umask);
      |                        ~~~~                                ^~~~~~~~~~~~~~~
storage/innobase/os/os0file.cc:1249:46: warning: implicit conversion loses integer precision: 'ulint' (aka 'unsigned long') to 'mode_t' (aka 'unsigned int') [-Wshorten-64-to-32]
 1249 |                 file = open(name, create_flag | O_CLOEXEC, os_innodb_umask);
      |                        ~~~~                                ^~~~~~~~~~~~~~~
storage/innobase/os/os0file.cc:1381:45: warning: implicit conversion loses integer precision: 'ulint' (aka 'unsigned long') to 'mode_t' (aka 'unsigned int') [-Wshorten-64-to-32]
 1381 |         file = open(name, create_flag | O_CLOEXEC, os_innodb_umask);
      |                ~~~~                                ^~~~~~~~~~~~~~~
2024-12-11 17:21:01 +11:00
..
atomic
mysql
aria_backup.h
assume_aligned.h
big_endian.h
byte_order_generic.h
byte_order_generic_x86.h
byte_order_generic_x86_64.h
CMakeLists.txt
decimal.h
dur_prop.h
errmsg.h
ft_global.h
handler_ername.h
handler_state.h
hash.h
heap.h
ilist.h
json_lib.h
keycache.h
lf.h
little_endian.h
m_ctype.h
m_string.h
ma_dyncol.h
maria.h
mariadb_capi_rename.h
my_alarm.h
my_alloc.h
my_alloca.h
my_atomic.h
my_atomic_wrapper.h
my_attribute.h
my_base.h
my_bit.h
my_bitmap.h
my_byteorder.h
my_check_opt.h
my_cmp.h
my_compare.h
my_compiler.h
my_context.h
my_counter.h
my_cpu.h
my_crypt.h
my_dbug.h
my_decimal_limits.h
my_default.h
my_dir.h
my_getopt.h
my_global.h
my_handler_errors.h
my_libwrap.h
my_list.h
my_md5.h
my_minidump.h
my_net.h
my_nosys.h
my_pthread.h
my_rdtsc.h
my_rnd.h
my_service_manager.h
my_stack_alloc.h
my_stacktrace.h
my_sys.h
my_time.h
my_tree.h
my_uctype.h
my_user.h
my_valgrind.h
my_xml.h
myisam.h
myisamchk.h
myisammrg.h
myisampack.h
mysql.h
mysql_async.h
mysql_com.h
mysql_com_server.h
mysql_embed.h
mysql_time.h
mysql_version.h.in
mysqld_default_groups.h
mysys_err.h
no_valgrind_without_big.inc
pack.h
password.h
pfs_file_provider.h
pfs_idle_provider.h
pfs_memory_provider.h
pfs_metadata_provider.h
pfs_socket_provider.h
pfs_stage_provider.h
pfs_statement_provider.h
pfs_table_provider.h
pfs_thread_provider.h
pfs_transaction_provider.h
probes_mysql.d.base
probes_mysql.h
probes_mysql_nodtrace.h.in
queues.h
rijndael.h
scope.h
service_versions.h
source_revision.h.in
span.h
sql_common.h
ssl_compat.h
sslopt-case.h
sslopt-longopts.h
sslopt-vars.h
t_ctype.h
thr_alarm.h
thr_lock.h
thr_timer.h
thread_pool_priv.h
typelib.h
violite.h
waiting_threads.h
welcome_copyright_notice.h
wqueue.h
wsrep.h