Browse Source

tried to make faster

ceriel 37 years ago
parent
commit
18adef4857
2 changed files with 20 additions and 16 deletions
  1. 10 8
      mach/sun2/cv/cv.c
  2. 10 8
      mach/sun3/cv/cv.c

+ 10 - 8
mach/sun2/cv/cv.c

@@ -261,13 +261,13 @@ writef(addr,sz,cnt)
  */
 emits(section) struct outsect *section ; {
 	char		*p;
-	char		*calloc();
+	char		*calloc(), *malloc();
 	long sz = section->os_flen;
 
 	rd_outsect(section - outsect);
 	while (sz) {
 		unsigned int i = (sz >= 0x4000 ? 0x4000 : sz);
-		if (!(p = calloc(i, 1))) {
+		if (!(p = malloc(i))) {
 			fatal("No memory.\n");
 		}
 		rd_emit(p, i);
@@ -279,16 +279,18 @@ emits(section) struct outsect *section ; {
 	}
 
 	sz = section->os_size - section->os_flen;
-	while (sz) {
-		unsigned int i = (sz >= 0x4000 ? 0x4000 : sz);
-		if (!(p = calloc(i, 1))) {
+	if (sz) {
+		if (!(p = calloc(0x4000, 1))) {
 			fatal("No memory.\n");
 		}
-		if (write(output, p, i) < i) {
-			fatal("write error.\n");
+		while (sz) {
+			unsigned int i = (sz >= 0x4000 ? 0x4000 : sz);
+			if (write(output, p, i) < i) {
+				fatal("write error.\n");
+			}
+			sz -= i;
 		}
 		free(p);
-		sz -= i;
 	}
 }
 

+ 10 - 8
mach/sun3/cv/cv.c

@@ -261,13 +261,13 @@ writef(addr,sz,cnt)
  */
 emits(section) struct outsect *section ; {
 	char		*p;
-	char		*calloc();
+	char		*calloc(), *malloc();
 	long sz = section->os_flen;
 
 	rd_outsect(section - outsect);
 	while (sz) {
 		unsigned int i = (sz >= 0x4000 ? 0x4000 : sz);
-		if (!(p = calloc(i, 1))) {
+		if (!(p = malloc(i))) {
 			fatal("No memory.\n");
 		}
 		rd_emit(p, i);
@@ -279,16 +279,18 @@ emits(section) struct outsect *section ; {
 	}
 
 	sz = section->os_size - section->os_flen;
-	while (sz) {
-		unsigned int i = (sz >= 0x4000 ? 0x4000 : sz);
-		if (!(p = calloc(i, 1))) {
+	if (sz) {
+		if (!(p = calloc(0x4000, 1))) {
 			fatal("No memory.\n");
 		}
-		if (write(output, p, i) < i) {
-			fatal("write error.\n");
+		while (sz) {
+			unsigned int i = (sz >= 0x4000 ? 0x4000 : sz);
+			if (write(output, p, i) < i) {
+				fatal("write error.\n");
+			}
+			sz -= i;
 		}
 		free(p);
-		sz -= i;
 	}
 }