Browse Source

faux.argv: faux_argv_is_last()

Serj Kalichev 2 years ago
parent
commit
b3fd1b9218
3 changed files with 20 additions and 0 deletions
  1. 1 0
      faux/argv.h
  2. 18 0
      faux/argv/argv.c
  3. 1 0
      faux/faux.map

+ 1 - 0
faux/argv.h

@@ -25,6 +25,7 @@ ssize_t faux_argv_len(faux_argv_t *fargv);
 ssize_t faux_argv_parse(faux_argv_t *fargv, const char *str);
 
 bool_t faux_argv_is_continuable(faux_argv_t *fargv);
+bool_t faux_argv_is_last(faux_argv_node_t *iter);
 
 C_DECL_END
 

+ 18 - 0
faux/argv/argv.c

@@ -196,3 +196,21 @@ bool_t faux_argv_is_continuable(faux_argv_t *fargv)
 
 	return fargv->continuable;
 }
+
+
+/** @brief If given node is last one.
+ *
+ * @param [in] iter Iterator/Node.
+ * @return BOOL_TRUE if last, BOOL_FALSE - not last or error.
+ */
+bool_t faux_argv_is_last(faux_argv_node_t *iter)
+{
+	faux_list_node_t *node = (faux_list_node_t *)iter;
+
+	if (!node)
+		return BOOL_FALSE;
+	if (faux_list_next_node(node) == NULL)
+		return BOOL_TRUE;
+
+	return BOOL_FALSE;
+}

+ 1 - 0
faux/faux.map

@@ -11,6 +11,7 @@ FAUX_2.0 {
 		faux_argv_parse;
 		faux_argv_len;
 		faux_argv_is_continuable;
+		faux_argv_is_last;
 
 		faux_async_new;
 		faux_async_free;