os-workshop

same materials and sample source for RV32 OS projects
git clone http://frotz.net/git/os-workshop.git
Log | Files | Refs

strstr.c (646B)


      1 /*
      2 ** Copyright 2001, Travis Geiselbrecht. All rights reserved.
      3 ** Distributed under the terms of the NewOS License.
      4 */
      5 /*
      6  * Copyright (c) 2008 Travis Geiselbrecht
      7  *
      8  * Use of this source code is governed by a MIT-style
      9  * license that can be found in the LICENSE file or at
     10  * https://opensource.org/licenses/MIT
     11  */
     12 #include <string.h>
     13 #include <stdint.h>
     14 
     15 char *
     16 strstr(char const *s1, char const *s2) {
     17     int l1, l2;
     18 
     19     l2 = strlen(s2);
     20     if (!l2)
     21         return (char *)s1;
     22     l1 = strlen(s1);
     23     while (l1 >= l2) {
     24         l1--;
     25         if (!memcmp(s1,s2,l2))
     26             return (char *)s1;
     27         s1++;
     28     }
     29     return NULL;
     30 }