funclose(3)
π funclose(3) β the SAORD Documentation glow-up π
okay bestie, so this is the funclose page from the SAORD Documentation set, and honestly? it's short, it's sweet, and it's lowkey the most important cleanup ritual in your Funtools era. let's get into it β¨
β¨ NAME β¨
FunClose β close a Funtools data file π
like. that's it. that's the job. she closes files. she frees things. she's the friend who actually turns off the lights when everyone leaves. π
πΈ SYNOPSIS πΈ
#include <funtools.h>
void FunClose(Fun fun)
yes bestie, that's the whole signature. one arg. no return value. she doesn't give you a status code, she doesn't text back, she just does it. π«Ά
π¦ DESCRIPTION π¦
so the FunClose() routine closes a previously-opened Funtools data file, and it also frees the control structures β like, it's not just closing the door, it's doing a full spring clean on the way out. no ghost data structures haunting your memory. we love to see it. πβ¨
now here's the part where you need to pay attention, because it's giving plot twist:
if a Funtools reference handle was passed to theFunOpen()call for this file, AND if copy mode also was specified for that file, thenFunClose()will also copy the remaining extensions from the input file to the output file β but ONLY if the input file is still open. π
so yeah. two conditions have to hit for the copy magic to happen: the reference handle was passed to FunOpen(), and copy mode was specified for that file. and the input file needs to still be open for those remaining extensions to actually get copied over. no open input file, no copy. periodt. π
which is exactly why the recommendation is:
always close the output Funtools file before the input file. π
like, output first, then input. that's the order. that's the vibe check. don't be out here closing the input first and then wondering why your extensions ghosted you. π
and if you can't do it in that order for whatever reason? no stress, you have options:
- you can call
FunFlush()explicitly instead β that's the alternative route, and it's right there waiting for you π
so to recap the whole ~situation~: close output, then input, or flush manually. either way, somebody's gotta handle the extensions, and it's not gonna be future-you at 2am. π
π SEE ALSO π
- See
funtools(7)for a list of Funtools help pages π
like, go read the whole funtools(7) situation if you want the full lore. it's the master doc, the main character of the help pages, the one that has the receipts. π₯
and that's the page bestie!! this was funclose(3) from version 1.4.5, dated April 14, 2011 β yeah she's an oldie but she's still out here closing files and freeing control structures like the icon she is. β close your outputs before your inputs, call FunFlush() if you must, and go slay π
π
π¦ where this page comes from
- debian bookworm: libfuntools-dev 1.4.8-1 Β· GPL
- debian trixie: libfuntools-dev 1.4.8-1.1+b2 Β· GPL
- ubuntu jammy: libfuntools-dev 1.4.8-1 Β· GPL
- ubuntu noble: libfuntools-dev 1.4.8-1.1build2 Β· GPL
- ubuntu questing: libfuntools-dev 1.4.8-2
- ubuntu resolute: libfuntools-dev 1.4.8-2build1 Β· GPL
- ubuntu stonking: libfuntools-dev 1.4.8-2build1 Β· GPL
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms