#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");
       }
}