From: David S. <ds...@pd...> - 2004-01-11 23:24:07
|
CVS Root: /home/cvs/gstreamer Module: gstreamer Changes by: ds Date: Sun Jan 11 2004 15:25:14 PST Log message: Add gst_strtoi(). Modified files: . : ChangeLog gst : gststructure.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/ChangeLog.diff?r1=1.84&r2=1.85 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gstreamer/gst/gststructure.c.diff?r1=1.9&r2=1.10 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /home/cvs/gstreamer/gstreamer/ChangeLog,v retrieving revision 1.84 retrieving revision 1.85 diff -u -d -r1.84 -r1.85 --- ChangeLog 11 Jan 2004 22:39:00 -0000 1.84 +++ ChangeLog 11 Jan 2004 23:25:02 -0000 1.85 @@ -1,3 +1,8 @@ +2004-01-11 David Schleef,,, <set EMAIL_ADDRESS environment variable> + + * gst/gststructure.c: (gst_strtoi), (gst_value_from_string): Add + a function to parse integers in ways that strto[u]l() does not. + 2004-01-11 Benjamin Otte <in...@pu...> * tools/gst-inspect.c: (print_caps): Index: gststructure.c =================================================================== RCS file: /home/cvs/gstreamer/gstreamer/gst/gststructure.c,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- gststructure.c 7 Jan 2004 13:13:02 -0000 1.9 +++ gststructure.c 11 Jan 2004 23:25:02 -0000 1.10 @@ -1109,6 +1109,20 @@ return TRUE; } +static int +gst_strtoi (const char *s, char **end, int base) +{ + int i; + + if (s[0] == '-') { + i = - (int) strtoul (s + 1, end, base); + } else { + i = strtoul (s, end, base); + } + + return i; +} + static gboolean gst_value_from_string (GValue *value, const char *s) { @@ -1122,7 +1136,7 @@ case G_TYPE_INT: { int x; - x = strtol (s, &end, 0); + x = gst_strtoi (s, &end, 0); if (*end == 0) { ret = TRUE; } else { |