// return 1 if rotated, otherwise 0 int rotate_bin_logfile(const char *filename, off_t record_size, off_t max_size, float keep_ratio) { off_t sz = dashs(filename); assert(keep_ratio >= 0 && keep_ratio <= 1.0f); if (sz < max_size) return 0; // delete from head delete_records(filename, record_size, 1, (1 - keep_ratio) * max_size / record_size ); return 1; }
int delete_record(const char *fpath, size_t size, int id) { return delete_records(fpath, size, id, 1); }