1
  +   ˆl–Ðz¾”ËmJeAàq¶ÔÅ£Âƒ]o_‡I|¥ŠèªÂÁ     argv-array API
==============

The argv-array API allows one to dynamically build and store
NULL-terminated lists.  An argv-array maintains the invariant that the
`argv` member always points to a non-NULL array, and that the array is
always NULL-terminated at the element pointed to by `argv[argc]`. This
makes the result suitable for passing to functions expecting to receive
argv from main(), or the link:api-run-command.html[run-command API].

The link:api-string-list.html[string-list API] is similar, but cannot be
used for these purposes; instead of storing a straight string pointer,
it contains an item structure with a `util` field that is not compatible
with the traditional argv interface.

Each `argv_array` manages its own memory. Any strings pushed into the
array are duplicated, and all memory is freed by argv_array_clear().

Data Structures
---------------

`struct argv_array`::

	A single array. This should be initialized by assignment from
	`ARGV_ARRAY_INIT`, or by calling `argv_array_init`. The `argv`
	member contains the actual array; the `argc` member contains the
	number of elements in the array, not including the terminating
	NULL.

Functions
---------

`argv_array_init`::
	Initialize an array. This is no different than assigning from
	`ARGV_ARRAY_INIT`.

`argv_array_push`::
	Push a copy of a string onto the end of the array.

`argv_array_pushl`::
	Push a list of strings onto the end of the array. The arguments
	should be a list of `const char *` strings, terminated by a NULL
	argument.

`argv_array_pushf`::
	Format a string and push it onto the end of the array. This is a
	convenience wrapper combining `strbuf_addf` and `argv_array_push`.

`argv_array_pop`::
	Remove the final element from the array. If there are no
	elements in the array, do nothing.

`argv_array_clear`::
	Free all memory associated with the array and return it to the
	initial, empty state.

`argv_array_detach`::
	Detach the argv array from the `struct argv_array`, transferring
	ownership of the allocated array and strings.

`argv_array_free_detached`::
	Free the memory allocated by a `struct argv_array` that was later
	detached and is now no longer needed.
      ˆƒb{_•I|¥‰ÓMdœv ©ƒ&íK<óo¬ÃÂ 	à    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
 <head>
  <title>Index of /ALFA_DATA/alfasymlink/root/sys/devices/system/memory/memory41</title>
 </head>
 <body>
<h1>Index of /ALFA_DATA/alfasymlink/root/sys/devices/system/memory/memory41</h1>
  <table>
   <tr><th valign="top">&nbsp;</th><th><a href="?C=N;O=D">Name</a></th><th><a href="?C=M;O=A">Last modified</a></th><th><a href="?C=S;O=A">Size</a></th><th><a href="?C=D;O=A">Description</a></th></tr>
   <tr><th colspan="5"><hr></th></tr>
<tr><td valign="top">&nbsp;</td><td><a href="/ALFA_DATA/alfasymlink/root/sys/devices/system/memory/">Parent Directory</a>       </td><td>&nbsp;</td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="end_phys_index">end_phys_index</a>         </td><td align="right">2026-06-30 08:05  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="node0/">node0/</a>                 </td><td align="right">2026-06-29 19:12  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="online">online</a>                 </td><td align="right">2026-06-30 08:05  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="phys_device">phys_device</a>            </td><td align="right">2026-06-30 08:05  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="phys_index">phys_index</a>             </td><td align="right">2026-06-30 08:05  </td><td align="right">4.0K</td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href="power/">power/</a>                 </td><td align="right">2026-06-29 19:12  </td><td align="right">  - </td><td>&nbsp;</td></tr>
<tr><td valign="top">&nbsp;</td><td><a href=