|   | ![[ Previous ]](navbprev.gif)  ![[ Contents ]](navbhome.gif)  ![[ Index ]](navbhelp.gif)  ![[ Next ]](navbnext.gif)  | 
    int Ns_SetFind(
    Ns_Set *set,
    char *key
    );
The Ns_SetFind function returns the index of the first field whose key name matches the given key. The index is in C array order, i.e., 0 is the index of the first field. If no fields are found, Ns_SetFind returns -1. If more than one field in the set has the same key name, Ns_SetFind returns just the first field index.
The Ns_SetIFind function is this function's case-insensitive counterpart.
    Ns_Set *aSet;
    int index;
    
    aSet = Ns_SetCreate("");
    Ns_SetPut(aSet, "Foo", "foovalue");
    Ns_SetPut(aSet, "Bar", "barvalue");
    index = Ns_SetFind(aSet, "Foo"); /* case sensitive search*/
    if (index == -1) {
    	Ns_Log(Warning, "set key Foo not found");
    } else {
    	Ns_Log(Notice, "Value for Foo is %s", 
    			Ns_SetGet(aSet, "Foo"));
    }
    Ns_SetFree(aSet);