Replace uses of strncpy (a GNU extension) with Qemu pstrcpy

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5531 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/block-vmdk.c b/block-vmdk.c
index c49b671..2a257b6 100644
--- a/block-vmdk.c
+++ b/block-vmdk.c
@@ -344,7 +344,7 @@
         if ((end_name - p_name) > sizeof (s->hd->backing_file) - 1)
             return -1;
 
-        strncpy(s->hd->backing_file, p_name, end_name - p_name);
+        pstrcpy(s->hd->backing_file, end_name - p_name, p_name);
         if (stat(s->hd->backing_file, &file_buf) != 0) {
             path_combine(parent_img_name, sizeof(parent_img_name),
                          filename, s->hd->backing_file);
diff --git a/block-vvfat.c b/block-vvfat.c
index 79804a7..1db2c8c 100644
--- a/block-vvfat.c
+++ b/block-vvfat.c
@@ -625,7 +625,7 @@
 
     entry=array_get_next(&(s->directory));
     memset(entry->name,0x20,11);
-    strncpy((char*)entry->name,filename,i);
+    pstrcpy((char*)entry->name, i, filename);
 
     if(j > 0)
 	for (i = 0; i < 3 && filename[j+1+i]; i++)
diff --git a/hw/bt-hci.c b/hw/bt-hci.c
index 725e32c..714e726 100644
--- a/hw/bt-hci.c
+++ b/hw/bt-hci.c
@@ -1385,7 +1385,7 @@
     params.status = HCI_SUCCESS;
     memset(params.name, 0, sizeof(params.name));
     if (hci->device.lmp_name)
-        strncpy(params.name, hci->device.lmp_name, sizeof(params.name));
+        pstrcpy(params.name, sizeof(params.name), hci->device.lmp_name);
 
     bt_hci_event_complete(hci, &params, READ_LOCAL_NAME_RP_SIZE);
 }
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index c1301ee..29254a2 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -4993,7 +4993,7 @@
 		    if (tnamelen > 256)
                         tnamelen = 256;
                     /* XXX: may not be correct */
-		    strncpy(tde->d_name, de->d_name, tnamelen);
+                    pstrcpy(tde->d_name, tnamelen, de->d_name);
                     de = (struct linux_dirent *)((char *)de + reclen);
                     len -= reclen;
                     tde = (struct target_dirent *)((char *)tde + treclen);
diff --git a/slirp/udp.c b/slirp/udp.c
index 0583d7e..8030326 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -475,14 +475,14 @@
 			type = omsg->type;
 			OTOSIN(omsg, ctl_addr)->sin_port = addr.sin_port;
 			OTOSIN(omsg, ctl_addr)->sin_addr = our_addr;
-			strncpy(omsg->l_name, getlogin(), NAME_SIZE_OLD);
+                        pstrcpy(omsg->l_name, NAME_SIZE_OLD, getlogin());
 		} else {		/* new talk */
 			omsg = (CTL_MSG_OLD *) buff;
 			nmsg = mtod(m, CTL_MSG *);
 			type = nmsg->type;
 			OTOSIN(nmsg, ctl_addr)->sin_port = addr.sin_port;
 			OTOSIN(nmsg, ctl_addr)->sin_addr = our_addr;
-			strncpy(nmsg->l_name, getlogin(), NAME_SIZE_OLD);
+                        pstrcpy(nmsg->l_name, NAME_SIZE_OLD, getlogin());
 		}
 
 		if (type == LOOK_UP)
diff --git a/vl.c b/vl.c
index 1fb4749..b96735e 100644
--- a/vl.c
+++ b/vl.c
@@ -4446,7 +4446,7 @@
 	syslog(LOG_ERR, "Can't get flags\n");
 
     snprintf (actual_name, 32, "tap%d", ppa);
-    strncpy (ifr.lifr_name, actual_name, sizeof (ifr.lifr_name));
+    pstrcpy(ifr.lifr_name, sizeof(ifr.lifr_name), actual_name);
 
     ifr.lifr_ppa = ppa;
     /* Assign ppa according to the unit number returned by tun device */
@@ -4489,7 +4489,7 @@
     close (if_fd);
 
     memset(&ifr, 0x0, sizeof(ifr));
-    strncpy (ifr.lifr_name, actual_name, sizeof (ifr.lifr_name));
+    pstrcpy(ifr.lifr_name, sizeof(ifr.lifr_name), actual_name);
     ifr.lifr_ip_muxid  = ip_muxid;
     ifr.lifr_arp_muxid = arp_muxid;
 
diff --git a/vnc.c b/vnc.c
index 266460f..9df4dbe 100644
--- a/vnc.c
+++ b/vnc.c
@@ -2337,7 +2337,8 @@
 	    if (start && (!end || (start < end))) {
 		int len = end ? end-(start+1) : strlen(start+1);
 		char *path = qemu_malloc(len+1);
-		strncpy(path, start+1, len);
+
+                pstrcpy(path, len, start + 1);
 		path[len] = '\0';
 		VNC_DEBUG("Trying certificate path '%s'\n", path);
 		if (vnc_set_x509_credential_dir(vs, path) < 0) {