File ltrace.trunk-r61.patch of Package ltrace

------------------------------------------------------------------------
r61 | ianw-guest | 2006-08-07 03:56:56 +0000 (Mon, 07 Aug 2006) | 2 lines
Changed paths:
   M /ltrace/trunk/ChangeLog
   M /ltrace/trunk/display_args.c
   M /ltrace/trunk/etc/ltrace.conf
   M /ltrace/trunk/ltrace.h
   M /ltrace/trunk/read_config_file.c
   M /ltrace/trunk/testsuite/ltrace.main/parameters-lib.c
   M /ltrace/trunk/testsuite/ltrace.main/parameters.c
   M /ltrace/trunk/testsuite/ltrace.main/parameters.conf
   M /ltrace/trunk/testsuite/ltrace.main/parameters.exp

short, ushort and float types

------------------------------------------------------------------------
---
 ChangeLog                              |    8 ++++++++
 display_args.c                         |    9 +++++++++
 etc/ltrace.conf                        |    6 ++++--
 ltrace.h                               |    3 +++
 read_config_file.c                     |    6 ++++++
 testsuite/ltrace.main/parameters-lib.c |   15 +++++++++++++++
 testsuite/ltrace.main/parameters.c     |    9 +++++++++
 testsuite/ltrace.main/parameters.conf  |    3 +++
 testsuite/ltrace.main/parameters.exp   |    8 ++++++++
 9 files changed, 65 insertions(+), 2 deletions(-)

Index: read_config_file.c
===================================================================
--- read_config_file.c.orig
+++ read_config_file.c
@@ -29,6 +29,9 @@ static struct list_of_pt_t {
 	"ulong", ARGTYPE_ULONG}, {
 	"octal", ARGTYPE_OCTAL}, {
 	"char", ARGTYPE_CHAR}, {
+	"short", ARGTYPE_SHORT}, {
+	"ushort", ARGTYPE_USHORT}, {
+	"float", ARGTYPE_FLOAT}, {
 	"addr", ARGTYPE_ADDR}, {
 	"file", ARGTYPE_FILE}, {
 	"format", ARGTYPE_FORMAT}, {
@@ -46,6 +49,9 @@ static arg_type_info arg_type_singletons
 	{ ARGTYPE_ULONG },
 	{ ARGTYPE_OCTAL },
 	{ ARGTYPE_CHAR },
+	{ ARGTYPE_SHORT },
+	{ ARGTYPE_USHORT },
+	{ ARGTYPE_FLOAT },
 	{ ARGTYPE_ADDR },
 	{ ARGTYPE_FILE },
 	{ ARGTYPE_FORMAT },
Index: display_args.c
===================================================================
--- display_args.c.orig
+++ display_args.c
@@ -91,6 +91,15 @@ int display_value(enum tof type, struct 
 		tmp += display_char(value == -1 ? value : (char) value);
 		tmp += fprintf(output, "'");
 		return tmp;
+	case ARGTYPE_SHORT:
+		return fprintf(output, "%hd", (short) value);
+	case ARGTYPE_USHORT:
+		return fprintf(output, "%hu", (unsigned short) value);
+	case ARGTYPE_FLOAT: {
+		union { long l; float f; } cvt;
+		cvt.l = value;
+		return fprintf(output, "%f", cvt.f);
+	}
 	case ARGTYPE_ADDR:
 		if (!value)
 			return fprintf(output, "NULL");
Index: ChangeLog
===================================================================
--- ChangeLog.orig
+++ ChangeLog
@@ -4,6 +4,14 @@
 	testsuite/ltrace.main/parameters-lib.c,
 	testsuite/ltrace.main/parameters.c,
 	testsuite/ltrace.main/parameters.conf,
+	testsuite/ltrace.main/parameters.exp: short, ushort and float types
+
+2006-08-07  Steve Fink <sphink@gmail.com>
+
+	* display_args.c, etc/ltrace.conf, ltrace.h, read_config_file.c,
+	testsuite/ltrace.main/parameters-lib.c,
+	testsuite/ltrace.main/parameters.c,
+	testsuite/ltrace.main/parameters.conf,
 	testsuite/ltrace.main/parameters.exp: implement enumerated parameters
 
 2006-08-07  Steve Fink <sphink@gmail.com>
Index: testsuite/ltrace.main/parameters.c
===================================================================
--- testsuite/ltrace.main/parameters.c.orig
+++ testsuite/ltrace.main/parameters.c
@@ -19,6 +19,9 @@ int func_strlen(char*);
 void func_strfixed(char*);
 void func_ppp(int***);
 void func_stringp(char**);
+void func_short(short, short);
+void func_ushort(unsigned short, unsigned short);
+void func_float(float, float);
 
 typedef enum {
   RED,
@@ -59,4 +62,10 @@ main ()
   func_stringp(&s);
 
   func_enum(BLUE);
+
+  func_short(-8, -9);
+  func_ushort(33, 34);
+  func_float(3.4, -3.4);
+
+  return 0;
 }
Index: testsuite/ltrace.main/parameters.conf
===================================================================
--- testsuite/ltrace.main/parameters.conf.orig
+++ testsuite/ltrace.main/parameters.conf
@@ -6,3 +6,6 @@ void func_strfixed(string[4])
 void func_ppp(int***)
 void func_stringp(string*)
 void func_enum(enum (RED=0,GREEN=1,BLUE=2,CHARTREUSE=3,PETUNIA=4))
+void func_short(short,short)
+void func_ushort(ushort, ushort)
+void func_float(float,float)
Index: testsuite/ltrace.main/parameters-lib.c
===================================================================
--- testsuite/ltrace.main/parameters-lib.c.orig
+++ testsuite/ltrace.main/parameters-lib.c
@@ -41,3 +41,18 @@ void func_enum(int x)
 {
 	printf("enum: %d\n", x);
 }
+
+void func_short(short x1, short x2)
+{
+	printf("short: %hd %hd\n", x1, x2);
+}
+
+void func_ushort(unsigned short x1, unsigned short x2)
+{
+	printf("ushort: %hu %hu\n", x1, x2);
+}
+
+void func_float(float f1, float f2)
+{
+	printf("%f %f\n", f1, f2);
+}
Index: testsuite/ltrace.main/parameters.exp
===================================================================
--- testsuite/ltrace.main/parameters.exp.orig
+++ testsuite/ltrace.main/parameters.exp
@@ -52,3 +52,11 @@ set pattern "func_stringp(\\\"Dude\\\")"
 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
 set pattern "func_enum(BLUE)"
 ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
+set pattern "func_short(-8, -9)"
+ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
+set pattern "func_ushort(33, 34)"
+ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
+set pattern "func_float(3.40*, -3.40*)"
+ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
+set pattern "exited (status 0)"
+ltrace_verify_output ${srcdir}/${subdir}/${testfile}.ltrace $pattern 1
Index: ltrace.h
===================================================================
--- ltrace.h.orig
+++ ltrace.h
@@ -37,6 +37,9 @@ enum arg_type {
 	ARGTYPE_ULONG,
 	ARGTYPE_OCTAL,
 	ARGTYPE_CHAR,
+	ARGTYPE_SHORT,
+	ARGTYPE_USHORT,
+	ARGTYPE_FLOAT,
 	ARGTYPE_ADDR,
 	ARGTYPE_FILE,
 	ARGTYPE_FORMAT,		/* printf-like format */
Index: etc/ltrace.conf
===================================================================
--- etc/ltrace.conf.orig
+++ etc/ltrace.conf
@@ -14,6 +14,8 @@
 ; ulong		== (unsigned long)
 ; octal		== (unsigned)			[written in octal]
 ; char
+; short		== (short)
+; ushort	== (unsigned short)
 ; addr		== (void *)			[unsigned, written in hexa]
 ; file		== (FILE *)						[TODO]
 ; format	== ((const char *), ...)	[printf() like]		[TODO]
@@ -154,8 +156,8 @@ addr getservbyport(int, string);
 addr getservent(void);
 void herror(string);
 string hstrerror(int);
-;int rcmd(addr, ushort, string, string, string, addr); FIXME implement ushort
-;int rcmd_af(addr, ushort, string, string, string, addr, int); FIXME implement ushort
+int rcmd(addr, ushort, string, string, string, addr);
+int rcmd_af(addr, ushort, string, string, string, addr, int);
 int rexec(addr, int, string, string, string, addr);
 int rexec_af(addr, int, string, string, string, addr, int);
 int rresvport (addr);
openSUSE Build Service is sponsored by