Browse Source

faux.argv: faux_argv_current()

Serj Kalichev 2 years ago
parent
commit
a53040cba9
3 changed files with 19 additions and 0 deletions
  1. 1 0
      faux/argv.h
  2. 17 0
      faux/argv/argv.c
  3. 1 0
      faux/faux.map

+ 1 - 0
faux/argv.h

@@ -19,6 +19,7 @@ void faux_argv_set_quotes(faux_argv_t *fargv, const char *quotes);
 
 faux_argv_node_t *faux_argv_iter(const faux_argv_t *fargv);
 const char *faux_argv_each(faux_argv_node_t **iter);
+const char *faux_argv_current(faux_argv_node_t *iter);
 
 ssize_t faux_argv_parse(faux_argv_t *fargv, const char *str);
 

+ 17 - 0
faux/argv/argv.c

@@ -92,6 +92,23 @@ const char *faux_argv_each(faux_argv_node_t **iter)
 }
 
 
+/** @brief Get current argument by iterator.
+ *
+ * Before iteration the iterator must be initialized by faux_argv_iter()
+ * function. Doesn't use faux_argv_current() with uninitialized iterator.
+ *
+ * Function doesn't modify iterator.
+ *
+ * @param [in] iter Iterator.
+ * @return String.
+ * @sa faux_argv_iter()
+ */
+const char *faux_argv_current(faux_argv_node_t *iter)
+{
+	return (const char *)faux_list_data((faux_list_node_t *)iter);
+}
+
+
 /** @brief Sets alternative quotes list.
  *
  * Any character from specified string becomes alternative quote.

+ 1 - 0
faux/faux.map

@@ -7,6 +7,7 @@ FAUX_2.0 {
 		faux_argv_set_quotes;
 		faux_argv_iter;
 		faux_argv_each;
+		faux_argv_current;
 		faux_argv_parse;
 		faux_argv_is_continuable;