Nut/OS  4.10.3
API Reference
Strings

C Standard String Library. More...

Collaboration diagram for Strings:

Defines

#define wsize   sizeof(word)
#define wmask   (wsize - 1)

Typedefs

typedef long word
 Copy a string.
typedef unsigned char uint8_t

Functions

char * strdup (CONST char *str)
 Create a copy of a string.
void * memchr (CONST void *s, int c, size_t n)
 Locate byte in a memory region.
int memcmp (CONST void *s1, CONST void *s2, size_t n)
 Compare memory regions.
void * memcpy (void *dst0, CONST void *src0, size_t length)
void * memset (void *dst, int c, size_t n)
 Fill memory region with a specific byte value.
char * strcat (char *dst, CONST char *src)
 Concatenate two strings.
char * strchr (CONST char *p, int ch)
 Locate the first occurrence of a character in a string.
int strcmp (CONST char *s1, CONST char *s2)
 Compare two strings.
char * strcpy (char *dst, CONST char *src)
 Copy a string.
int stricmp (CONST char *s1, CONST char *s2)
 Compare two strings, ignoring case.
int strnicmp (CONST char *s1, CONST char *s2, size_t n)
 Compare two strings up to a given number of characters and ignoring case.
size_t strlen (CONST char *str)
 Compute the length of a NUL terminated string.
char * strncat (char *dst, CONST char *src, size_t n)
 Concatenate two strings up to a given number of characters.
int strncmp (CONST char *s1, CONST char *s2, size_t n)
 Compare two strings up to a given number of characters.
char * strncpy (char *dst, CONST char *src, size_t n)
 Copy a string up to a given number of characters.
char * strrchr (CONST char *p, int ch)
 Locate the last occurrence of a character in a NUL terminated string.
char * strstr (CONST char *s, CONST char *find)
 Locate a substring in a string.
char * strtok (char *s, CONST char *delim)
 Isolate sequential tokens in a NUL terminated string.
char * strtok_r (char *s, CONST char *delim, char **last)
 Isolate sequential tokens in a NUL terminated string.

Detailed Description

C Standard String Library.


Define Documentation

#define wsize   sizeof(word)

Definition at line 106 of file memcpy.c.

Referenced by memcpy(), and SpiAt45dConfigWrite().

#define wmask   (wsize - 1)

Definition at line 107 of file memcpy.c.

Referenced by memcpy().


Typedef Documentation

typedef long word

Copy a string.

Copies a source string including the terminating zero character to a destination string.

Note:
The function does not perform any overflow checking.
Parameters:
dstPointer to the destination string.
srcPointer to the source string.
Returns:
The original destination pointer.

Definition at line 104 of file memcpy.c.

typedef unsigned char uint8_t

Definition at line 82 of file stricmp.c.


Function Documentation

char* strdup ( CONST char *  str)

Create a copy of a string.

Allocates sufficient memory from heap for a copy of the string does the copy.

Parameters:
strPointer to the string to copy.
Returns:
A pointer to the new string or NULL if allocating memory failed.

Definition at line 93 of file strdup.c.

References malloc(), memcpy(), and strlen().

Referenced by EditHistoryInsert(), EditHistorySet(), LiLiCreateStringItemCopy(), NutChat(), NutDnsConfig2(), NutFtpProcessCwd(), NutFtpRenamePrepare(), NutHttpProcessRequest(), NutRegisterAuth(), NutRegisterCgi(), NutRegisterCgiBinPath(), NutRegisterFtpUser(), putenv(), setenv(), UxmlNodeAddAttrib(), and UxmlParseStream().

Here is the call graph for this function:

void* memchr ( CONST void *  s,
int  c,
size_t  n 
)

Locate byte in a memory region.

This function locates the first occurrence of a byte in a memory region.

Parameters:
sPointer to the start of the memory region.
cThe byte to search for, converted to an unsigned character.
nNumber of bytes to search.
Returns:
A pointer to the byte located, or NULL if no such byte exists.

Definition at line 91 of file memchr.c.

References CONST.

Referenced by _putf().

int memcmp ( CONST void *  s1,
CONST void *  s2,
size_t  n 
)

Compare memory regions.

Both memory regions are assumed to be of equal length.

Parameters:
s1Pointer to first memory region.
s2Pointer to second memory region.
nNumber of bytes to compare.
Returns:
Zero if the two regions are identical, otherwise returns the difference between the first two differing bytes.

Definition at line 91 of file memcmp.c.

References CONST.

Referenced by At45dbParamWrite(), At49bvParamWrite(), At91EfcParamWrite(), Avr32FlashcParamWrite(), NutDhcpIfConfig(), NutLoadConfig(), PhatDirRemove(), SnmpOidEquals(), and SpiAt45dConfigWrite().

void* memcpy ( void *  dst0,
CONST void *  src0,
size_t  length 
)
Examples:
caltime/caltime.c, and editconf/editconf.c.

Definition at line 114 of file memcpy.c.

References CONST, TLOOP, TLOOP1, wmask, and wsize.

Referenced by AhdlcRx(), AsnBitStringBuild(), AsnBitStringParse(), AsnOctetStringBuild(), AsnOctetStringParse(), At45dbParamRead(), At45dbParamWrite(), At49bvParamWrite(), At49bvSectorRead(), At91EfcParamWrite(), At91EfcSectorRead(), AtCanSetAccCode(), AtCanSetAccMask(), Avr32FlashcParamWrite(), Avr32FlashcSectorRead(), cs8900Init(), CSNicInit(), DiscoveryResponder(), DS1307RamWrite(), EditHistoryGet(), FATFileRead(), FeederThread(), GetParentPath(), LcpTxProtRej(), main(), NicInit(), NutArpAllocNetBuf(), NutArpCacheUpdate(), NutArpOutput(), NutDhcpIfConfig(), NutDiscoveryAnnTele(), NutDiscoveryAppConf(), NutEtherOutput(), NutHeapRootRealloc(), NutIcmpResponse(), NutIpRouteList(), NutMD5Final(), NutMD5Update(), NutNetBufClonePart(), NutNetBufCollect(), NutNetIfConfig2(), NutNetIfSetup(), NutNetLoadConfig(), NutSaveConfig(), NutSmtpLogin(), NutTcpDeviceWrite(), NutTcpOutput(), NutTcpReceive(), NutThreadCreate(), NutUdpReceiveFrom(), NutUdpSendTo(), PapTxAuthReq(), PerCiRead(), PerCiWrite(), PhatDirEntryUpdate(), PhatFileOpen(), PhatFileRead(), PhatFileWrite(), PhatVolMount(), RawFsFileRead(), RawFsFileWrite(), SJASetAccCode(), SJASetAccMask(), SnmpMibFind(), SnmpMibRegister(), SnmpPduAddVariable(), SnmpPduCreate(), SnmpSessionOpen(), SpiAt45dConfigRead(), SpiAt45dConfigWrite(), strdup(), Tlv320DacWrite(), UxmlNodeCreate(), VsCodecRead(), VsCodecWrite(), wlandrv_IOCTL(), wlandrv_PutPacket(), X12EepromWrite(), XTeaCryptStr(), and XTeaDecryptStr().

char* strcat ( char *  dst,
CONST char *  src 
)

Concatenate two strings.

Append a copy of a NUL terminated string to the end of another NUL terminated string.

Note:
The function does not perform any overflow checking.
Parameters:
dstPointer to the destination string.
srcPointer to the source string.
Returns:
The original destination pointer.

Definition at line 92 of file strcat.c.

Referenced by CreateFilePath(), MibRegisterSysVars(), and NutFtpTransferDirectoryOptions().

char* strchr ( CONST char *  p,
int  ch 
)

Locate the first occurrence of a character in a string.

The terminating NUL character is considered part of the string.

Parameters:
pPointer to the string.
chCharacter to locate.
Returns:
A pointer to the located character or NULL if the character does not appear in the string.
Examples:
portdio/portdio.c, tcps/tcps.c, and uart/uart.c.

Definition at line 90 of file strchr.c.

Referenced by main(), MakePhatName(), NutFtpProcessRequest(), NutHttpProcessRequest(), NutRegisterFtpRoot(), NutSmtpReceiveResponse(), ProcessRequests(), and putenv().

int strcmp ( CONST char *  s1,
CONST char *  s2 
)

Compare two strings.

The strings are compared lexicographically.

Parameters:
s1Pointer to the first string.
s2Pointer to the second string.
Returns:
An integer greater than, equal to, or less than 0, according to whether the first string is greater than, equal to, or less than the second string.
Examples:
httpd/httpserv.c.

Definition at line 91 of file strcmp.c.

Referenced by EditHistoryInsert(), findenv(), GetThreadByName(), LiLiCompareStringItems(), MmCardMount(), NutChatExpect(), NutDeviceLookup(), NutFtpProcessCwd(), NutFtpProcessPass(), NutFtpProcessUser(), NutHttpGetParameter(), NutNetLoadConfig(), NutRegisterCgi(), NutWinsNameQuery(), rename(), RfcTimeParse(), setenv(), SnmpCommunityCreate(), SnmpCommunityFind(), SnmpViewCreate(), SnmpViewFind(), SpiMmcMount(), and VsCodecOpen().

char* strcpy ( char *  dst,
CONST char *  src 
)

Copy a string.

Copies a source string including the terminating zero character to a destination string.

Note:
The function does not perform any overflow checking.
Parameters:
dstPointer to the destination string.
srcPointer to the source string.
Returns:
The original destination pointer.
Examples:
editconf/editconf.c, and inetq/inetq.c.

Definition at line 89 of file strcpy.c.

Referenced by _putf(), AsixInit(), basename(), CreateFilePath(), CreateFullPathName(), dirname(), findenv(), main(), MibRegisterIfVars(), MibRegisterSysVars(), NutFtpTransferDirectoryOptions(), NutLoadConfig(), NutRegisterFtpRoot(), NutRegisterHttpRoot(), opendir(), openlog(), PhatDirRead(), SnmpCommunityCreate(), SnmpViewCreate(), and syslog_header().

int stricmp ( CONST char *  s1,
CONST char *  s2 
)

Compare two strings, ignoring case.

The strings are compared lexicographically. The comparison is done using unsigned characters,

Parameters:
s1Pointer to the first string.
s2Pointer to the second string.
Returns:
An integer greater than, equal to, or less than 0, according to whether the first string is greater than, equal to, or less than the second string after translation of each corresponding character to lower-case.

Definition at line 138 of file stricmp.c.

References CONST.

int strnicmp ( CONST char *  s1,
CONST char *  s2,
size_t  n 
)

Compare two strings up to a given number of characters and ignoring case.

The strings are compared lexicographically. The comparison is done using unsigned characters,

Parameters:
s1Pointer to the first string.
s2Pointer to the second string.
nNumber of bytes to compare.
Returns:
An integer greater than, equal to, or less than 0, according to whether the first string is greater than, equal to, or less than the second string after translation of each corresponding character to lower-case.

Definition at line 168 of file stricmp.c.

References CONST.

char* strncat ( char *  dst,
CONST char *  src,
size_t  n 
)

Concatenate two strings up to a given number of characters.

Append a copy of a NUL terminated string to the end of another NUL terminated string. Appends a copy of the source string including the terminating NUL character, if its length is lower than the given number of characters. Otherwise the destination string is left unterminated.

Parameters:
dstPointer to the destination string.
srcPointer to the source string.
nNumber of bytes appended at most.
Returns:
The original destination pointer.

Definition at line 94 of file strncat.c.

References CONST.

int strncmp ( CONST char *  s1,
CONST char *  s2,
size_t  n 
)

Compare two strings up to a given number of characters.

The strings are compared lexicographically. The comparison is done using unsigned characters,

Parameters:
s1Pointer to the first string.
s2Pointer to the second string.
nNumber of bytes to compare.
Returns:
An integer greater than, equal to, or less than 0, according to whether the first string is greater than, equal to, or less than the second string after translation of each corresponding character to lower-case.
Examples:
portdio/portdio.c, and tcps/tcps.c.

Definition at line 97 of file strncmp.c.

Referenced by NutHttpAuthValidate(), NutSmtpLogin(), ProcessRequests(), and strstr().

char* strncpy ( char *  dst,
CONST char *  src,
size_t  n 
)

Copy a string up to a given number of characters.

Copies a source string including the terminating NUL character, if its length is lower than the given number of characters. Otherwise the destination string is left unterminated.

Parameters:
dstPointer to the destination string.
srcPointer to the source string.
nMaximum number of characters to copy.
Returns:
The original destination pointer.

Definition at line 92 of file strncpy.c.

References CONST.

Referenced by dirname(), and NutDiscoveryAppConf().

char* strrchr ( CONST char *  p,
int  ch 
)

Locate the last occurrence of a character in a NUL terminated string.

The terminating NUL character is considered part of the string.

Parameters:
pPointer to the string.
chCharacter to locate.
Returns:
A pointer to the located character or NULL if the character does not appear in the string.

Definition at line 90 of file strrchr.c.

Referenced by GetParentPath(), NutHttpAuthValidate(), and NutHttpSendError().

char* strstr ( CONST char *  s,
CONST char *  find 
)

Locate a substring in a string.

Finds the first occurrence of a NUL terminated string in another NUL terminated string.

Parameters:
sPointer to the string to be searched.
findPointer to the string to look for.
Returns:
A pointer to the first occurrence of the substring. If the string to search is an empty string, then the original pointer is returned. If the substring does not occur in the string to be searched, then a null pointer is returned.

Definition at line 93 of file strstr.c.

References strlen(), and strncmp().

Referenced by NutSmtpLogin(), and SSDPTask().

Here is the call graph for this function:

char* strtok ( char *  s,
CONST char *  delim 
)

Isolate sequential tokens in a NUL terminated string.

The tokens are separated in the string by at least one of the characters in the given separator string.

The first time this function is called, the string should be specified. Subsequent calls, wishing to obtain further tokens from the same string, should pass a null pointer instead.

The separator string must be supplied each time, and may change between calls.

Parameters:
sPointer to the string to separate.
delimPointer to the separator string.
Returns:
A pointer to the beginning of each subsequent token in the string, after replacing the separator character itself with a zero character. When no more tokens remain, a null pointer is returned.

Definition at line 100 of file strtok.c.

References strtok_r().

Here is the call graph for this function:

char* strtok_r ( char *  s,
CONST char *  delim,
char **  last 
)

Isolate sequential tokens in a NUL terminated string.

Similar to strtok(), but takes an explicit context argument and thus is reentrant.

Parameters:
sPointer to the string to separate.
delimPointer to the separator string.
lastUsed to store the current search context.
Returns:
A pointer to the beginning of each subsequent token in the string, after replacing the separator character itself with a zero character. When no more tokens remain, a null pointer is returned.

Definition at line 122 of file strtok.c.

Referenced by strtok().