File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed
Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change @@ -48,4 +48,16 @@ GIT_INLINE(void) git_oid__cpy_prefix(
4848 out -> id [len / 2 ] &= 0xF0 ;
4949}
5050
51+ GIT_INLINE (bool ) git_oid__is_hexstr (const char * str )
52+ {
53+ size_t i ;
54+
55+ for (i = 0 ; str [i ] != '\0' ; i ++ ) {
56+ if (git__fromhex (str [i ]) < 0 )
57+ return false;
58+ }
59+
60+ return (i == GIT_OID_HEXSZ );
61+ }
62+
5163#endif
Original file line number Diff line number Diff line change 11#include "clar_libgit2.h"
2+ #include "oid.h"
23
34static git_oid id ;
45static git_oid idp ;
@@ -68,3 +69,11 @@ void test_core_oid__ncmp(void)
6869 cl_assert (!git_oid_ncmp (& id , & id , 40 ));
6970 cl_assert (!git_oid_ncmp (& id , & id , 41 ));
7071}
72+
73+ void test_core_oid__is_hexstr (void )
74+ {
75+ cl_assert (git_oid__is_hexstr ("deadbeefdeadbeefdeadbeefdeadbeefdeadbeef" ));
76+ cl_assert (!git_oid__is_hexstr ("deadbeefdeadbeef" ));
77+ cl_assert (!git_oid__is_hexstr ("zeadbeefdeadbeefdeadbeefdeadbeefdeadbeef" ));
78+ cl_assert (!git_oid__is_hexstr ("deadbeefdeadbeefdeadbeefdeadbeefdeadbeef1" ));
79+ }
You can’t perform that action at this time.
0 commit comments