r8661: added strstr() ejs function in string lib
authorAndrew Tridgell <tridge@samba.org>
Thu, 21 Jul 2005 04:10:35 +0000 (04:10 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:29:51 +0000 (13:29 -0500)
(This used to be commit a569fc8924e8c8edbdfa7efc89ad99659af8c379)

source4/scripting/ejs/smbcalls_string.c

index 3d386abe2eac51d31d843b2cd1165db185672ce6..cd5db1f5748c19f3b1247c5d398e2e0a9afa1c19 100644 (file)
@@ -73,6 +73,22 @@ static int ejs_strupper(MprVarHandle eid, int argc, char **argv)
        return 0;
 }
 
+/*
+  usage:
+      var s = strstr(string, substring);
+*/
+static int ejs_strstr(MprVarHandle eid, int argc, char **argv)
+{
+       char *s;
+       if (argc != 2) {
+               ejsSetErrorMsg(eid, "strstr invalid arguments");
+               return -1;
+       }
+       s = strstr(argv[0], argv[1]);
+       mpr_Return(eid, mprString(s));
+       return 0;
+}
+
 /*
   usage:
      list = split(".", "a.foo.bar");
@@ -330,6 +346,7 @@ static int ejs_string_init(MprVarHandle eid, int argc, struct MprVar **argv)
        mprSetStringCFunction(obj, "strlen", ejs_strlen);
        mprSetStringCFunction(obj, "strlower", ejs_strlower);
        mprSetStringCFunction(obj, "strupper", ejs_strupper);
+       mprSetStringCFunction(obj, "strstr", ejs_strstr);
        mprSetStringCFunction(obj, "split", ejs_split);
        mprSetCFunction(obj, "join", ejs_join);
        mprSetCFunction(obj, "sprintf", ejs_sprintf);