File: makeimage.cpp

package info (click to toggle)
afflib 3.7.22-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,584 kB
  • sloc: cpp: 20,911; ansic: 15,912; makefile: 520; sh: 436; python: 192
file content (38 lines) | stat: -rw-r--r-- 753 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
 * makeimage.cpp:
 * 
 * Make an image with a given number of sectors.
 * This file is a work of a US government employee and as such is in the Public domain.
 * Simson L. Garfinkel, March 12, 2012
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <err.h>

const char *progname = "makeimage";

void usage()
{
    errx(1,"usage: %s file blockcount\n",progname);
}

int main(int argc,char **argv)
{
    if(argc!=3) usage();

    int  count = atoi(argv[2]);
    char buf[512];

    FILE *out = fopen(argv[1],"wb");
    if(!out) err(1,"fopen(%s)",argv[1]);

    memset(buf,' ',sizeof(buf));
    buf[511] = '\000';
    for(int i=0;i<count;i++){
	sprintf(buf,"Block %d\n",i);
	fwrite(buf,sizeof(buf),1,out);
    }
    fclose(out);
}