//==================================================================
// Finds first occurrence of c in string.
// Returns pointer to that occurrence or 0 if not found
//==================================================================
unsigned char *strchr(unsigned char *string, unsigned char c)
{
long i = 0;
while (string[i]) {
if (string[i] == c)
return string + i;
i++;
}
return 0;
}
//================================================================
// Returns the length of string
//================================================================
long strlen(unsigned char *string)
{
int i = 0;
while (string[i++]) ;
return i - 1;
}
//===============================================================
// Compares s1 and s2 up to length characters.
// Returns 0 if they are equal, non-zero otherwise.
//===============================================================
long strncmp(unsigned char *s1, unsigned char *s2, long length)
{
long count;
short done = 0;
for (count = 1; count < length; count++) {
if (s1[count] != s2[count]) {
done = 1;
break;
}
}
if (done)
return (1);
else
return (0);
}
//=======================================================
// Copy null-terminates string s1 to s2
//=======================================================
unsigned char *strcpy(unsigned char *destination, unsigned char *source)
{
unsigned char *retval = destination;
while (*source) {
*destination++ = *source++;
}
*destination = 0;
return retval;
}
//===============================================================
// Compares s1 and s2.
// Returns 0 if they are equal, non-zero otherwise.
//===============================================================
long strcmp(unsigned char *s1, unsigned char *s2)
{
long retval = 1;
int count = 0;
while (s1[count] == s2[count]) {
if (s1[count++] == 0)
retval = 0;
}
return retval;
}
//===========================================================
// Concatenates s2 to the end of s1.
// Returns s1
//===========================================================
unsigned char *strcat(unsigned char *s1, unsigned char *s2)
{
int n = strlen(s1);
strcpy(s1 + n, s2);
return s1;
}