[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

autopartkit asprintf conversion



Hi,

Patch attached.

regards,
guillem
Index: autopartkit.c
===================================================================
RCS file: /cvs/debian-boot/debian-installer/tools/autopartkit/autopartkit.c,v
retrieving revision 1.27
diff -u -r1.27 autopartkit.c
--- autopartkit.c	16 Dec 2002 09:11:41 -0000	1.27
+++ autopartkit.c	19 Dec 2002 18:55:32 -0000
@@ -768,11 +768,10 @@
     subdev  = minor(statbuf.st_rdev) / maxparts;
     partnum = minor(statbuf.st_rdev) % maxparts;
 
-    retval = malloc(strlen(partpath) + 1); /* I hope this is long enough */
     if (0 == partnum)
-      sprintf(retval, devpath, 'a' + subdev);
+      asprintf(&retval, devpath, 'a' + subdev);
     else
-      sprintf(retval, partpath, 'a' + subdev, partnum);
+      asprintf(&retval, partpath, 'a' + subdev, partnum);
 
     return retval;
 }
@@ -789,10 +788,7 @@
     char *retval;
     char *tmp;
 
-    /* devlen + numbers + null termination */
-    retval = malloc(strlen(dev->path) + 3);
-
-    sprintf(retval,"%s%d",dev->path, freepart->num);
+    asprintf(&retval, "%s%d", dev->path, freepart->num);
     /* Replace 'disc' with 'part'.  Sucks. */
     if ((tmp = strstr(retval, "disc")))
     {
@@ -900,10 +896,7 @@
 	fprintf(fstab, "%s\t%s\t%s\tdefaults\t\t0\t%d\n", 
 		devpath, mountmap[i].mountpoint->mountpoint,
 		mountmap[i].mountpoint->fstype,	fsckpass);
-	tmpmnt = malloc(/* /target */ 7 + 
-			strlen(mountmap[i].mountpoint->mountpoint) + 1 
-			/* terminating null */);
-	sprintf(tmpmnt, "/target%s",mountmap[i].mountpoint->mountpoint);
+	asprintf(&tmpmnt, "/target%s", mountmap[i].mountpoint->mountpoint);
 	mkdir(tmpmnt, 0755);
 	mount(mountmap[i].devpath, tmpmnt, mountmap[i].mountpoint->fstype,
 	      MS_MGC_VAL, NULL);

Reply to: