optionLoadLine(3)

πŸ’– optionLoadLine(3) β€” process a string for an option name and value πŸ’–

Manual-name check: this is optionLoadLine(3) from the Programmer's Manual, bestie. We're in the C-coder group chat now. ✨

🌸 NAME 🌸

optionLoadLine β€” process a string for an option name and value. That's the whole assignment, no cap. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

#include <your-opts.h>
cc [...] -o outfile infile.c -lopts [...]

void optionLoadLine(tOptions * opts, char const * line);

πŸŽ€ DESCRIPTION πŸŽ€

Okay so this is a client program callable routine for setting options from, for example, the contents of a file that they read in. Only one option may appear in the text. It will be treated as a normal (non-preset) option. 🫢

When passed a pointer to the option struct and a string, it will find the option named by the first token on the string and set the option argument to the remainder of the string. The caller must NUL terminate the string. The caller need not skip over any introductory hyphens. Any embedded new lines will be included in the option argument. If the input looks like one or more quoted strings, then the input will be "cooked". The "cooking" is identical to the string formation used in AutoGen definition files (@pxref{basic expression}), except that you may not use backquotes. πŸ“

  • opts β€” program options descriptor. It's the vibe-check pass for your options. πŸ’œ
  • line β€” NUL-terminated text. That's the string snack you're feeding in. 😭

πŸ’€ ERRORS πŸ’€

Invalid options are silently ignored. Like, no warning, no drama, just ignored. πŸ‘€

Invalid option arguments will cause a warning to print, but the function should return. So it prints a warning and then, yes, it returns. Periodt. πŸ’…

🌈 SEE ALSO 🌈

The info documentation for the -lopts library. That's the required reference, bestie. πŸ“š

Also lowkey iconic: ao_string_tokenize(3), configFileLoad(3), optionFileLoad(3), optionFindNextValue(3), optionFindValue(3), optionFree(3), optionGetValue(3), optionMemberList(3), optionNextValue(3), optionOnlyUsage(3), optionPrintVersion(3), optionPrintVersionAndReturn(3), optionProcess(3), optionRestore(3), optionSaveFile(3), optionSaveState(3), optionUnloadNested(3), optionVersion(3), strequate(3), streqvcmp(3), streqvmap(3), strneqvcmp(3), strtransform(3) β€” and yes, the original list ends with strtransform(3),, trailing comma included, she's extra πŸ’….

πŸŽ€ Cute sign-off: source/version vibe is optionLoadLine(3), date is 2018-08-26. Stay hydrated and NUL-terminated, bestie! πŸ’–βœ¨πŸ«Ά