view ffstools/tiaud/mkvol.c @ 965:2969032bdfac

fcup-smsend[mult]: fix buglet in K&R C NULL pointer passing The only 100% safe way to pass a NULL pointer as a function argument in K&R C is to cast 0 to a pointer type; failing to do so may cause mysterious bugs (invalid stack frames or garbage in argument registers) on 64-bit machines. This issue has already been fixed in most of FC host tools, but I just found some missed spots: passing of NULL UDH to PDU encoding functions in fcup-smsend[mult] in the case of single (not concatenated) SMS.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 01 Sep 2023 07:33:51 +0000
parents 1f3b28d66d53
children
line wrap: on
line source

/*
 * This program generates an audio volume file for uploading into Calypso
 * device FFS; TI's Audio Service requires every *.cfg file to be accompanied
 * by a corresponding *.vol file.
 */

#include <sys/types.h>
#include <sys/file.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

u_char bin[4];

write_bin_output(filename)
	char *filename;
{
	int fd;

	fd = open(filename, O_WRONLY|O_CREAT|O_TRUNC, 0666);
	if (fd < 0) {
		perror(filename);
		exit(1);
	}
	write(fd, &bin, sizeof bin);
	close(fd);
}

main(argc, argv)
	char **argv;
{
	if (argc != 3) {
		fprintf(stderr, "usage: %s volume outfile\n", argv[0]);
		exit(1);
	}
	bin[0] = atoi(argv[1]);
	write_bin_output(argv[2]);
	exit(0);
}