instr(3) find an occurence of a string in a string, starting at a


#include "mut.h"
char *instr(s, find, from)
char *s, *find, from;


Pointer to the string to be searched for the pattern
Pointer to the string to be found, the pattern
Character to be searched backwards before searching for the pattern


instr searches the first occurence of the string find in the string s, starting its search at the last occurence of the from character in the string s.

If either s or find is NULL, the function returns NULL. If from is (char)0, the pattern is searched from the begining of s.
This quite exotic behaviour is useful to search the occurence of a name in a string resulting from a flatten, when only a terminal object name is to be taken into account.


instr return NULL either if the pattern find is not present in the searched string s, or if one at least of these two string are NULL. If the pattern is found, a value different from NULL is returned.


#include "mut.h"
/* check for the pattern 'ck' anywhere in the string */
#define contains_ck(name)instr(name, "ck", ' ')
/* check for the pattern 'ck' in the signal name, not instance ones */
#define isclock(ptsig) instr(getsigname(ptsig), "ck", SEPAR)