static inline unsigned long round_to_cyl(long sect) {
int cyl_size = heads * sectors;
- return sect + cyl_size - ((sect % cyl_size) ?: cyl_size);
+ return sect + cyl_size - (sect % cyl_size);
}
/* check the partition sizes and write the partition table */
if (verbose)
fprintf(stderr, "Partition %d: start=%ld, end=%ld, size=%ld\n", i, (long) start * 512, ((long) start + (long) len) * 512, (long) len * 512);
printf("%ld\n", ((long) start * 512));
+ printf("%ld\n", ((long) len * 512));
}
- if ((fd = open(filename, O_WRONLY|O_CREAT, 0644)) < 0) {
+ if ((fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, 0644)) < 0) {
fprintf(stderr, "Can't open output file '%s'\n",filename);
return -1;
}