util.c: I've added a function called mem_dup(). Similar to strdup(),
authorChristopher R. Hertel <crh@samba.org>
Wed, 15 Jul 1998 20:15:25 +0000 (20:15 +0000)
committerChristopher R. Hertel <crh@samba.org>
Wed, 15 Jul 1998 20:15:25 +0000 (20:15 +0000)
         mem_dup() allocates the required memory before copying the
         source data.  It returns NULL if memory could not be allcoated,
         else a pointer to the newly allocated memory.
proto.h: Rebuilt to add the prototype for mem_dup().
(This used to be commit 7f7e265ab457d046441d502d4b8447bc2c966675)

source3/include/proto.h
source3/lib/util.c

index 6d9d083bc113a472e1e5874fb7c7c09cef6d5507..ed725b722d80ab35eda3232108166e641a02463c 100644 (file)
@@ -1582,7 +1582,7 @@ char *namestr(struct nmb_name *n);
 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);
-void make_nmb_name(struct nmb_name *n,char *name,int type,char *this_scope);
+void make_nmb_name( struct nmb_name *n, char *name, int type, char *this_scope );
 BOOL nmb_name_equal(struct nmb_name *n1, struct nmb_name *n2);
 BOOL send_packet(struct packet_struct *p);
 struct packet_struct *receive_packet(int fd,enum packet_type type,int t);
@@ -1973,6 +1973,7 @@ BOOL is_a_socket(int fd);
 BOOL next_token(char **ptr,char *buff,char *sep);
 char **toktocliplist(int *ctok, char *sep);
 void *MemMove(void *dest,void *src,int size);
+void *mem_dup( void *from, int size );
 void array_promote(char *array,int elsize,int element);
 void set_socket_options(int fd, char *options);
 void close_sockets(void );
index 2bd7636fb068e228e0fc1dd0e84ae1802680098a..905809f1111ea88694a185848db88dff29e3d0fb 100644 (file)
@@ -516,6 +516,19 @@ void *MemMove(void *dest,void *src,int size)
 }
 #endif
 
+/* ************************************************************************* **
+ * Duplicate a block of memory.
+ * ************************************************************************* **
+ */
+void *mem_dup( void *from, int size )
+  {
+  void *tmp;
+
+  tmp = malloc( size );
+  if( NULL != tmp )
+    (void)memcpy( tmp, from, size );
+  return( tmp );
+  } /* mem_dup */
 
 /****************************************************************************
 prompte a dptr (to make it recently used)