aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/lib/support
diff options
context:
space:
mode:
authorGravatar jboeuf <jboeuf@users.noreply.github.com>2016-12-27 15:50:32 -0800
committerGravatar GitHub <noreply@github.com>2016-12-27 15:50:32 -0800
commit578378256c306b0ef777816e83bbf1af0a04fdea (patch)
treeaf2757c1c259e07991295346b60141107f52f712 /src/core/lib/support
parent22b28264f9242b6d049f9e6d5b792bd5be048a97 (diff)
parent964d7bb4828461f4c4d51cfe7f774367fc162013 (diff)
Merge pull request #8788 from jboeuf/fix_jwt_verifier
Fix jwt verifier
Diffstat (limited to 'src/core/lib/support')
-rw-r--r--src/core/lib/support/string.c11
-rw-r--r--src/core/lib/support/string.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/src/core/lib/support/string.c b/src/core/lib/support/string.c
index f10a30f0fd..f263f82baf 100644
--- a/src/core/lib/support/string.c
+++ b/src/core/lib/support/string.c
@@ -275,3 +275,14 @@ int gpr_stricmp(const char *a, const char *b) {
} while (ca == cb && ca && cb);
return ca - cb;
}
+
+void *gpr_memrchr(const void *s, int c, size_t n) {
+ if (s == NULL) return NULL;
+ char *b = (char *)s;
+ for (size_t i = 0; i < n; i++) {
+ if (b[n - i - 1] == c) {
+ return &b[n - i - 1];
+ }
+ }
+ return NULL;
+}
diff --git a/src/core/lib/support/string.h b/src/core/lib/support/string.h
index e933e2eb46..6d1f7cc632 100644
--- a/src/core/lib/support/string.h
+++ b/src/core/lib/support/string.h
@@ -118,6 +118,8 @@ char *gpr_strvec_flatten(gpr_strvec *strs, size_t *total_length);
lower(a)==lower(b), >0 if lower(a)>lower(b) */
int gpr_stricmp(const char *a, const char *b);
+void *gpr_memrchr(const void *s, int c, size_t n);
+
#ifdef __cplusplus
}
#endif