#include <stdio.h>
#include <dir.h>
unsigned char buffer[32768];
FILE* inf;
FILE* outf;
struct ffblk ffblk;
int done;
char tmpfname[] = "U2S.$$$";
main(int argc,char **argv)
{
int i;
unsigned numread;
char *p;
if(argc > 1)
{
done = findfirst(argv[1],&ffblk,0);
while (!done)
{
inf = fopen(ffblk.ff_name,"rb");
outf = fopen(tmpfname,"wb");
do {
numread = fread(buffer,1,sizeof(buffer),inf);
for(i = 0;i<numread;i++)
buffer[i] = buffer[i] ^ 0x80;
fwrite(buffer,1,numread,outf);
} while(numread == sizeof(buffer));
fclose(inf);
fclose(outf);
unlink(ffblk.ff_name);
rename(tmpfname,ffblk.ff_name);
unlink(tmpfname);
done = findnext(&ffblk);
}
}
else
{
printf("U2S converts signed samples to unsigned, or unsigned to signed\n");
printf("usage: u2s <filename> (wildcards allowed)\n");
}
}