Ejemplo n.º 1
0
int main(int argc, char **argv)
{
    FILE *fp_in, *fp_out;
    int action = 0;

    if (argc != 4)
    {
        fprintf(stderr, "usage: %s [-a|-r] <input> <output>\n", argv[0]);
        return 1;
    }

    if (strcmp(argv[1], "-a") == 0)
    {
        action = 1;
    } else if (strcmp(argv[1], "-r") == 0)
    {
        action = 2;
    } else {
        fprintf(stderr, "usage: %s [-a|-r] <input> <output>\n", argv[0]);
    }

    fp_in = fopen(argv[2], "r");
    if (!fp_in)
    {
        fprintf(stderr, "can't open input file '%s': %s\n", argv[2], strerror(errno));
        return 1;
    }

    fp_out = fopen(argv[3], "w");
    if (!fp_out)
    {
        fprintf(stderr, "can't open output file '%s': %s\n", argv[3], strerror(errno));
        return 1;
    }

    switch (action)
    {
    case 1:
        pack_krnl(fp_in, fp_out);
        break;
    case 2:
        unpack_krnl(fp_in, fp_out);
        break;
    default:
        break;
    }

    return 0;
}
Ejemplo n.º 2
0
int main(int argc, char **argv)
{
	FILE *fp_in, *fp_out;
	int action = 0;

	if (argc != 4)
	{
		fprintf(stderr, "Not enough arguments!");
		help(argv);
		return 1;
	}
	
	fp_in = fopen(argv[2], "rb");
	if (!fp_in)
	{
		fprintf(stderr, "can't open input file '%s': %s\n", argv[2], strerror(errno));
		return 1;
	}

	fp_out = fopen(argv[3], "wb");
	if (!fp_out)
	{
		fprintf(stderr, "can't open output file '%s': %s\n", argv[3], strerror(errno));
		return 1;
	}

	if (strcmp(argv[1],"-pack") == 0) 
	{
		pack_krnl(fp_in, fp_out);
	}
	else if (strcmp(argv[1],"-unpack") == 0) 
	{
		unpack_krnl(fp_in, fp_out);
	}
	else
	{
		help(argv);
		return 1;
	}

	return 0;
}