summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorTed Lemon <source@isc.org>1999-10-15 12:45:01 +0000
committerTed Lemon <source@isc.org>1999-10-15 12:45:01 +0000
commit63551d4bc8f8a0c937145f2b6e4b932185106f7a (patch)
tree6a4c475803e20ce4142fbaa9767fe273fdeb83d9 /common
parentecbce0a8f37e80a45efdbcc7d80a8c9849c1f7c4 (diff)
downloadisc-dhcp-63551d4bc8f8a0c937145f2b6e4b932185106f7a.tar.gz
Add printers for expr_known and expr_encode*
Diffstat (limited to 'common')
-rw-r--r--common/print.c47
1 files changed, 46 insertions, 1 deletions
diff --git a/common/print.c b/common/print.c
index 97b369be..a4d75f07 100644
--- a/common/print.c
+++ b/common/print.c
@@ -22,7 +22,7 @@
#ifndef lint
static char copyright[] =
-"$Id: print.c,v 1.22.2.1 1999/07/13 18:42:58 mellon Exp $ Copyright (c) 1995, 1996, 1998, 1999 The Internet Software Consortium. All rights reserved.\n";
+"$Id: print.c,v 1.22.2.2 1999/10/15 12:45:01 mellon Exp $ Copyright (c) 1995, 1996, 1998, 1999 The Internet Software Consortium. All rights reserved.\n";
#endif /* not lint */
#include "dhcpd.h"
@@ -487,6 +487,42 @@ static int print_subexpression (expr, buf, len)
}
break;
+ case expr_encode_int8:
+ if (len > 7) {
+ rv = 6;
+ strcpy (buf, "(to-int8 ");
+ rv += print_subexpression (expr -> data.encode_int,
+ buf + rv, len - rv - 1);
+ buf [rv++] = ')';
+ buf [rv] = 0;
+ return rv;
+ }
+ break;
+
+ case expr_encode_int16:
+ if (len > 8) {
+ rv = 7;
+ strcpy (buf, "(to-int16 ");
+ rv += print_subexpression (expr -> data.encode_int,
+ buf + rv, len - rv - 1);
+ buf [rv++] = ')';
+ buf [rv] = 0;
+ return rv;
+ }
+ break;
+
+ case expr_encode_int32:
+ if (len > 8) {
+ rv = 7;
+ strcpy (buf, "(to-int32 ");
+ rv += print_subexpression (expr -> data.encode_int,
+ buf + rv, len - rv - 1);
+ buf [rv++] = ')';
+ buf [rv] = 0;
+ return rv;
+ }
+ break;
+
case expr_const_int:
s = print_dec_1 (expr -> data.const_int);
rv = strlen (s);
@@ -506,6 +542,15 @@ static int print_subexpression (expr, buf, len)
return rv;
}
break;
+
+ case expr_known:
+ s = "known";
+ rv = strlen (s);
+ if (len > rv) {
+ strcpy (buf, s);
+ return rv;
+ }
+ break;
}
return 0;
}