Papp Gyozo (VBuster) wrote:
From: Lorenzo Bettini
I hope this patch could be in the next package.
--- gengetopt-2.18.orig/src/skels/c_source.h_skel Fri Jul 14 20:07:31 2006
+++ gengetopt-2.18/src/skels/c_source.h_skel Tue Nov 21 19:36:40 2006
@@ -653,8 +653,11 @@
}
}
else
- { /* read up the remaining part up to a delimiter */
- next_token = strcspn (farg, " \t\r\n#\'\"");
+ { /* read up the remaining part up to end of line or comment sign
*/
+ char *ch = (str_index + (next_token = strcspn (farg,
"\r\n#")));
+ /* remove trailing whitespaces */
+ for ( --ch; (*ch >= '\t' && *ch <= '\r') || *ch == ' '; --ch )
+ --next_token;
str_index += next_token;
}
I'm really sorry about that, it must have escaped me.
Oh never mind that. You can realize now that I could wait for it for a long
time ;)
I noticed that the strcspn does not include ' nor " is that correct?
Yes, but be careful! First it goes to the end of the line and then steps back on
(thus removes) trailing whitespaces. If you simply use strcspn() w/o ' and "
parser can't cope with the strings mentioned above:
key = MC JMS
This way key_arg will be "MC JMS"
The another benefit of this patch is values containing more than one "word"
does not have to be quoted at all.
OK, now everything's clear! :-)
thanks
Lorenzo
--
Lorenzo Bettini, PhD in Computer Science, DSI, Univ. di Firenze
ICQ# lbetto, 16080134 (GNU/Linux User # 158233)
HOME: http://www.lorenzobettini.it MUSIC: http://www.purplesucker.com
http://www.myspace.com/supertrouperabba
BLOGS: http://tronprog.blogspot.com http://longlivemusic.blogspot.com
http://www.gnu.org/software/src-highlite
http://www.gnu.org/software/gengetopt
http://www.gnu.org/software/gengen http://doublecpp.sourceforge.net
_______________________________________________
Help-gengetopt mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-gengetopt