safe string version of nmb_namestr.
authorLuke Leighton <lkcl@samba.org>
Thu, 24 Jun 1999 19:02:37 +0000 (19:02 +0000)
committerLuke Leighton <lkcl@samba.org>
Thu, 24 Jun 1999 19:02:37 +0000 (19:02 +0000)
(This used to be commit 250621b3cec5fc463d348432d1d0ff5fb59e7a29)

source3/include/proto.h
source3/libsmb/nmblib.c

index cca2a6be79630086c0afc68ad8ef66a472654937..361eda72b5d8f3837dd67253ac4eb55cba067ece 100644 (file)
@@ -722,6 +722,7 @@ BOOL find_master_ip(char *group, struct in_addr *master_ip);
 
 void debug_nmb_packet(struct packet_struct *p);
 char *nmb_namestr(struct nmb_name *n);
+void nmb_safe_namestr(struct nmb_name *n, char *str, size_t len);
 struct packet_struct *copy_packet(struct packet_struct *packet);
 void free_packet(struct packet_struct *packet);
 struct packet_struct *read_packet(int fd,enum packet_type packet_type);
index 14dc5ecee2a4787868356e4cf9bd1a1b7ef94a1b..54b1779f4469fc6dbdc8a7477c994e36583140e7 100644 (file)
@@ -287,6 +287,7 @@ static int put_nmb_name(char *buf,int offset,struct nmb_name *name)
   return(ret);
 }
 
+
 /*******************************************************************
   useful for debugging messages
   ******************************************************************/
@@ -296,15 +297,23 @@ char *nmb_namestr(struct nmb_name *n)
   static fstring ret[4];
   char *p = ret[i];
 
-  if (!n->scope[0])
-    slprintf(p,sizeof(fstring)-1, "%s<%02x>",n->name,n->name_type);
-  else
-    slprintf(p,sizeof(fstring)-1, "%s<%02x>.%s",n->name,n->name_type,n->scope);
+  nmb_safe_namestr(n, p, sizeof(fstring));
 
   i = (i+1)%4;
   return(p);
 }
 
+/*******************************************************************
+  useful for debugging messages
+  ******************************************************************/
+void nmb_safe_namestr(struct nmb_name *n, char *str, size_t len)
+{
+  if (!n->scope[0])
+    slprintf(str, len-1, "%s<%02x>",n->name,n->name_type);
+  else
+    slprintf(str, len-1, "%s<%02x>.%s",n->name,n->name_type,n->scope);
+}
+
 /*******************************************************************
   allocate and parse some resource records
   ******************************************************************/