vf_get_next_object(3)
β¨ vf_get_next_object β the girlies' guide to scrolling thru ur vobjects β¨
okay so bestie, welcome to vf_get_next_object(3), a lil function from the Library Functions Manual π it lives in the header vf_iface.h, it's giving vformat energy, and honestly? she's the "next one please" button of the whole vobject situation. periodt.
πΈ NAME πΈ
vf_get_next_object - vf_get_next_object()
no cap, that's the whole name section. iconic of her tbh. π
π¦ SYNOPSIS π¦
#include <../vformat/vf_iface.h>
extern bool_t vf_get_next_object(VF_OBJECT_T **pp_object);
look at her. one include, one function, zero drama. π
π PARAMETERS π
VF_OBJECT_T **pp_objectβ a ptr to a pointer to the current object. yeah, double pointer, she's fancy like that π lowkey it's a pointer-to-pointer so the function can move ur pointer for u, bestie.
π DESCRIPTION π
so the whole vibe here is: find the "next" vobject β¨ typically u call this right after a call to vf_read_file(), bc that function might have read a whole list of objects out of a file. like, a whole roster. a whole friend group. and u gotta walk thru them one by one.
here's the canonical lil loop, exactly how the page shows it:
if (vf_read_file(&p_object, p_filename)) { do { ... } while
(vf_get_next_object(&p_object)) ; }
so u read the file, u do ur lil thing in the do { ... } block, and then u ask "is there a next one bestie?" and if she says yes u go around again. π
and the important part, the value of *pp_object gets updated by the call if it returns TRUE. so she's not just answering ur question, she's actually moving u forward. main character behaviour fr fr. π
β RETURNS β
TRUE iff found (ie. there is a "next" object). π―
like, that's it. no fancy error codes, no drama, just a yes or a no. if it's TRUE, there's another object waiting for u and ur pointer just got updated. if not... that's the end of the list, babe, go touch grass πΈ
π SEE ALSO π
the whole girl squad, in order, every single one, no skipping, i don't make the rules:
vf_parse_init(3)vf_parse_text(3)vf_parse_end(3)vf_read_file(3)vf_write_file(3)vf_create_object(3)vf_get_object_type(3)vf_get_property(3)vf_get_property_ex(3)vf_get_next_property(3)vf_get_prop_value(3)vf_set_prop_value(3)vf_get_prop_value_string(3)vf_get_prop_name_string(3)vf_set_prop_name_string(3)vf_get_prop_name(3)vf_get_prop_value_object(3)vf_set_prop_value_object(3)vf_set_prop_value_string(3)vf_set_prop_value_base64(3)vf_get_prop_value_base64(3)vf_set_property_from_file(3)vf_delete_object(3)vf_delete_prop(3)vf_find_prop_qual_index(3)vf_is_modified(3)vf_find_charset(3)vf_date_string_to_time(3)vf_period_string_to_time(3)vf_period_time_to_string(3)vf_set_prop_value_time(3)vf_get_prop_value_time(3)
ok and one last thing bestie β this whole page was generated byc2manfromvf_iface.h, and the date on it is 30 April 2003. so yeah, she's been slaying since 2003, vintage queen πβ¨ ty for coming to my ted talk, mwah π«Άπ
π¦ where this page comes from
- debian bookworm: libvformat-dev 1.13-12 Β· LGPL-2.1-or-later
- ubuntu jammy: libvformat-dev 1.13-12build2 Β· LGPL-2.1-or-later
- ubuntu noble: libvformat-dev 1.13-12.1ubuntu1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms