This is smsMod.c in view mode; [Download] [Up]
/* * * main program for smsMod * */ #include "../sms.h" #define USAGE "Usage: smsMod [-s stochasticFactor] [-f fundFreq] <inputSmsFile> <outputSmsFile>" main (int argc, char *argv[]) { char *pChInputSmsFile = NULL, *pChOutputSmsFile = NULL, *pChProgramName; SMSHeader *pSmsHeader; SMS_DATA smsData; char *pData; int iError, i; float fStocFactor = 1, fFundamental = 1; initSms(&smsData); /* get user arguments */ pChProgramName = argv[0]; if (argc > 3) { for (i=1; i<argc-2; i++) { if (*(argv[i]++) == '-') { switch (*(argv[i]++)) { case 's': if (sscanf(argv[i],"%f",&fStocFactor) < 1) quit("Invalid stochastic factor"); break; case 'f': if (sscanf(argv[i],"%f",&fFundamental) < 0) quit("Invalid fundamental"); break; default: quit(USAGE); } } } } pChInputSmsFile = argv[argc-2]; pChOutputSmsFile = argv[argc-1]; if((iError = readSmsFile(pChInputSmsFile, &pSmsHeader)) < 0) { if(iError == SMS_NOPEN) quit("cannot open file"); if(iError == SMS_RDERR) quit("read error"); if(iError == SMS_NSMS) quit("not an SMS file"); if(iError == SMS_MALLOC) quit("cannot allocate memory"); quit("error"); } pData = (char *) pSmsHeader->pChDataRecords; pSmsHeader->fFrequency = fFundamental; for(i = 1; i < pSmsHeader->nRecords; i++) { setSmsRecord (pSmsHeader, pData, &smsData); *smsData.pFStocGain += fStocFactor; pData += pSmsHeader->iRecordBSize; } writeSmsFile (pChOutputSmsFile, pSmsHeader); free(pSmsHeader); exit(0); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.