1#pragma once 2 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7void CopyPStrToCStr(const unsigned char *thePStr,char *theCStr,const int maxCStrLength); 8void CopyPStrToPStr(const unsigned char *theSrcPStr,unsigned char *theDstPStr,const int maxDstStrLength); 9void CopyCStrToCStr(const char *theSrcCStr,char *theDstCStr,const int maxDstStrLength); 10void CopyCStrToPStr(const char *theSrcCStr,unsigned char *theDstPStr,const int maxDstStrLength); 11void ConcatPStrToCStr(const unsigned char *thePStr,char *theCStr,const int maxCStrLength); 12void ConcatPStrToPStr(const unsigned char *theSrcPStr,unsigned char *theDstPStr,const int maxDstStrLength); 13void ConcatCStrToPStr(const char *theSrcCStr,unsigned char *theDstPStr,const int maxDstStrLength); 14void ConcatCStrToCStr(const char *theSrcCStr,char *theDstCStr,const int maxCStrLength); 15 16void ConcatCharToCStr(const char theChar,char *theDstCStr,const int maxCStrLength); 17void ConcatCharToPStr(const char theChar,unsigned char *theDstPStr,const int maxPStrLength); 18 19int ComparePStrs(const unsigned char *theFirstPStr,const unsigned char *theSecondPStr,const Boolean ignoreCase = true); 20int CompareCStrs(const char *theFirstCStr,const char *theSecondCStr,const Boolean ignoreCase = true); 21int CompareCStrToPStr(const char *theCStr,const unsigned char *thePStr,const Boolean ignoreCase = true); 22 23Boolean CStrsAreEqual(const char *theFirstCStr,const char *theSecondCStr,const Boolean ignoreCase = true); 24Boolean PStrsAreEqual(const unsigned char *theFirstCStr,const unsigned char *theSecondCStr,const Boolean ignoreCase = true); 25 26void CopyLongIntToCStr(const long theNum,char *theCStr,const int maxCStrLength,const int numDigits = -1); 27void CopyUnsignedLongIntToCStr(const unsigned long theNum,char *theCStr,const int maxCStrLength); 28void ConcatLongIntToCStr(const long theNum,char *theCStr,const int maxCStrLength,const int numDigits = -1); 29void CopyCStrAndConcatLongIntToCStr(const char *theSrcCStr,const long theNum,char *theDstCStr,const int maxDstStrLength); 30 31void CopyLongIntToPStr(const long theNum,unsigned char *thePStr,const int maxPStrLength,const int numDigits = -1); 32void ConcatLongIntToPStr(const long theNum,unsigned char *thePStr,const int maxPStrLength,const int numDigits = -1); 33 34long CStrLength(const char *theCString); 35long PStrLength(const unsigned char *thePString); 36 37OSErr CopyCStrToExistingHandle(const char *theCString,Handle theHandle); 38OSErr CopyLongIntToExistingHandle(const long inTheLongInt,Handle theHandle); 39 40OSErr CopyCStrToNewHandle(const char *theCString,Handle *theHandle); 41OSErr CopyPStrToNewHandle(const unsigned char *thePString,Handle *theHandle); 42OSErr CopyLongIntToNewHandle(const long inTheLongInt,Handle *theHandle); 43 44OSErr AppendCStrToHandle(const char *theCString,Handle theHandle,long *currentLength = nil,long *maxLength = nil); 45OSErr AppendCharsToHandle(const char *theChars,const int numChars,Handle theHandle,long *currentLength = nil,long *maxLength = nil); 46OSErr AppendPStrToHandle(const unsigned char *thePString,Handle theHandle,long *currentLength = nil); 47OSErr AppendLongIntToHandle(const long inTheLongInt,Handle theHandle,long *currentLength = nil); 48 49void ZeroMem(void *theMemPtr,const unsigned long numBytes); 50 51char *FindCharInCStr(const char theChar,const char *theCString); 52long FindCharOffsetInCStr(const char theChar,const char *theCString,const Boolean inIgnoreCase = false); 53long FindCStrOffsetInCStr(const char *theCSubstring,const char *theCString,const Boolean inIgnoreCase = false); 54 55void CopyCSubstrToCStr(const char *theSrcCStr,const int maxCharsToCopy,char *theDstCStr,const int maxDstStrLength); 56void CopyCSubstrToPStr(const char *theSrcCStr,const int maxCharsToCopy,unsigned char *theDstPStr,const int maxDstStrLength); 57 58void InsertCStrIntoCStr(const char *theSrcCStr,const int theInsertionOffset,char *theDstCStr,const int maxDstStrLength); 59void InsertPStrIntoCStr(const unsigned char *theSrcPStr,const int theInsertionOffset,char *theDstCStr,const int maxDstStrLength); 60OSErr InsertCStrIntoHandle(const char *theCString,Handle theHandle,const long inInsertOffset); 61 62void CopyCStrAndInsertCStrIntoCStr(const char *theSrcCStr,const char *theInsertCStr,char *theDstCStr,const int maxDstStrLength); 63 64void CopyCStrAndInsertCStrsLongIntsIntoCStr(const char *theSrcCStr,const char **theInsertCStrs,const long *theLongInts,char *theDstCStr,const int maxDstStrLength); 65 66void CopyCStrAndInsert1LongIntIntoCStr(const char *theSrcCStr,const long theNum,char *theDstCStr,const int maxDstStrLength); 67void CopyCStrAndInsert2LongIntsIntoCStr(const char *theSrcCStr,const long long1,const long long2,char *theDstCStr,const int maxDstStrLength); 68void CopyCStrAndInsert3LongIntsIntoCStr(const char *theSrcCStr,const long long1,const long long2,const long long3,char *theDstCStr,const int maxDstStrLength); 69 70void CopyCStrAndInsertCStrLongIntIntoCStr(const char *theSrcCStr,const char *theInsertCStr,const long theNum,char *theDstCStr,const int maxDstStrLength); 71OSErr CopyCStrAndInsertCStrLongIntIntoHandle(const char *theSrcCStr,const char *theInsertCStr,const long theNum,Handle *theHandle); 72 73 74OSErr CopyIndexedWordToCStr(char *theSrcCStr,int whichWord,char *theDstCStr,int maxDstCStrLength); 75OSErr CopyIndexedWordToNewHandle(char *theSrcCStr,int whichWord,Handle *outTheHandle); 76 77OSErr CopyIndexedLineToCStr(const char *theSrcCStr,int inWhichLine,int *lineEndIndex,Boolean *gotLastLine,char *theDstCStr,const int maxDstCStrLength); 78OSErr CopyIndexedLineToNewHandle(const char *theSrcCStr,int inWhichLine,Handle *outNewHandle); 79 80OSErr ExtractIntFromCStr(const char *theSrcCStr,int *outInt,Boolean skipLeadingSpaces = true); 81OSErr ExtractIntFromPStr(const unsigned char *theSrcPStr,int *outInt,Boolean skipLeadingSpaces = true); 82 83 84void ConvertCStrToUpperCase(char *theSrcCStr); 85 86 87int CountOccurencesOfCharInCStr(const char inChar,const char *inSrcCStr); 88int CountWordsInCStr(const char *inSrcCStr); 89 90OSErr CountDigits(const char *inCStr,int *outNumIntegerDigits,int *outNumFractDigits); 91 92void ExtractCStrItemFromCStr(const char *inSrcCStr,const char inItemDelimiter,const int inItemNumber,Boolean *foundItem,char *outDstCharPtr,const int inDstCharPtrMaxLength,const Boolean inTreatMultipleDelimsAsSingleDelim = false); 93OSErr ExtractCStrItemFromCStrIntoNewHandle(const char *inSrcCStr,const char inItemDelimiter,const int inItemNumber,Boolean *foundItem,Handle *outNewHandle,const Boolean inTreatMultipleDelimsAsSingleDelim = false); 94 95 96OSErr ExtractFloatFromCStr(const char *inCString,extended80 *outFloat); 97OSErr CopyFloatToCStr(const extended80 *theFloat,char *theCStr,const int maxCStrLength,const int inMaxNumIntDigits = -1,const int inMaxNumFractDigits = -1); 98 99void SkipWhiteSpace(char **ioSrcCharPtr,const Boolean inStopAtEOL = false); 100 101 102#ifdef __cplusplus 103} 104#endif 105