From d42e0431346cfa1da13c9ac3156dcf1c96a97393 Mon Sep 17 00:00:00 2001
From: Matthias Wachs <wachs@net.in.tum.de>
Date: Mon, 24 Jun 2013 09:27:07 +0000
Subject: Updating the tutorial section in the source and including an updated
 version of the pdf about command line parsing.

This update describes how a developer can check if a
command line argument was set at all by initializing the
variables storing the commandline arguments with a
specific value and checking this value after the run
function applied the commandline parsing.
---
 doc/gnunet-c-tutorial.tex | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'doc/gnunet-c-tutorial.tex')

diff --git a/doc/gnunet-c-tutorial.tex b/doc/gnunet-c-tutorial.tex
index 8ad4d3019..86d68b84b 100644
--- a/doc/gnunet-c-tutorial.tex
+++ b/doc/gnunet-c-tutorial.tex
@@ -594,6 +594,8 @@ static int a_flag;
      &GNUNET_GETOPT_set_one, &a_flag},
     GNUNET_GETOPT_OPTION_END
   };
+  string_option = NULL;
+  a_flag = GNUNET_SYSERR;
 // ...
 \end{lstlisting}
 
@@ -602,7 +604,10 @@ the {\tt --help} argument and error handling are taken care of when
 using this approach.  Other {\tt GNUNET\_GETOPT\_}-functions can be used
 to obtain integer value options, increment counters, etc.  You can
 even write custom option parsers for special circumstances not covered
-by the available handlers.
+by the available handlers. To check if an argument was specified by the 
+user you initialize the variable with a specific value (e.g. NULL for 
+a string and GNUNET\_SYSERR for a integer) and check after parsing 
+happened if the values were modified.
 
 Inside the {\tt run} method, the program would perform the
 application-specific logic, which typically involves initializing and
-- 
cgit v1.2.3

