al_ustr_prev man page
al_ustr_prev — Allegro 5 API
#include <allegro5/allegro.h> bool al_ustr_prev(const ALLEGRO_USTR *us, int *pos)
Find the byte offset of the previous code point in string, before
*pos does not have to be at the beginning of a code point. Returns true on success, and the value pointed to by
pos will be updated to the found offset. Otherwise returns false if
*pos was already at the end of the string, and
*pos is unmodified.
This function just looks for an appropriate byte; it doesn't check if found offset is the beginning of a valid code point. If you are working with possibly invalid UTF-8 strings then it could skip over some invalid bytes.