... если он равен EBADF то файловый дескриптор сдох. И переоткрываешь его через open еще раз. ...
надо корректно обрабатывать ошибки open/read/write/fseek/close и реагировать на них. И закрывать файловые хендлы при любом возможном исходе. Ну и не забывать делать free() после malloc(). Грубо говоря количество malloc должно быть всегда равно free.
mysql> select * from db;
+-----------+---------+---------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Delete_priv | Create_priv | Drop_priv | Grant_priv | References_priv | Index_priv | Alter_priv | Create_tmp_table_priv | Lock_tables_priv | Create_view_priv | Show_view_priv | Create_routine_priv | Alter_routine_priv | Execute_priv | Event_priv | Trigger_priv |
+-----------+---------+---------+-------------+-------------+-------------+-------------+-------------+-----------+------------+-----------------+------------+------------+-----------------------+------------------+------------------+----------------+---------------------+--------------------+--------------+------------+--------------+
| % | test | | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | N | N | Y | Y |
| % | test\_% | | Y | Y | Y | Y | Y | Y | N | Y | Y | Y | Y | Y | Y | Y | Y | N | N | Y | Y |
GCC=gcc-8.3.0
tar xf $GCC.tar.gz
cd $GCC
./contrib/download_prerequisites
mkdir build
cd build
QNX_HOST=i386-unknown-nto-qnx
../configure \
--enable-languages=c,c++ \
--disable-multilib \
--enable-static \
--prefix=/home/ainr/gcc-build/cross-$GCC \
--target=$QNX_HOST \
--host=x86_64-pc-linux-gnu \
--build=x86_64-pc-linux-gnu
mysql> CREATE USER 'user1'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL ON mydb.* TO 'user1'@'localhost';
Query OK, 0 rows affected (0.00 sec)
mysql> create database tdb;
ERROR 1044 (42000): Access denied for user 'user1'@'localhost' to database 'tdb'