What does the ??!??! operator do in C?

??! is a trigraph that translates to |. So it says: !ErrorHasOccured() || HandleError(); which, due to short circuiting, is equivalent to: if (ErrorHasOccured()) HandleError(); Guru of the Week (deals with C++ but relevant here), where I picked this up. Possible origin of trigraphs or as @DwB points out in the comments it’s more likely … Read more

Do I cast the result of malloc?

TL;DR int *sieve = (int *) malloc(sizeof(int) * length); has two problems. The cast and that you’re using the type instead of variable as argument for sizeof. Instead, do like this: int *sieve = malloc(sizeof *sieve * length); Long version No; you don’t cast the result, since: It is unnecessary, as void * is automatically … Read more

Improve INSERT-per-second performance of SQLite

Several tips: Put inserts/updates in a transaction. For older versions of SQLite – Consider a less paranoid journal mode (pragma journal_mode). There is NORMAL, and then there is OFF, which can significantly increase insert speed if you’re not too worried about the database possibly getting corrupted if the OS crashes. If your application crashes the … Read more

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)