diff options
author | dx <aryadevchavali1@gmail.com> | 2020-05-07 02:58:56 +0100 |
---|---|---|
committer | dx <aryadevchavali1@gmail.com> | 2020-05-07 02:58:56 +0100 |
commit | 510d6384033259be44b55e73283bafe38a53190a (patch) | |
tree | 7cb01255fc4dcd250010ba5f93dba119f4585092 /Converter | |
parent | 80c5f9a8129f5a151770b0979b9e39777cffb9f6 (diff) | |
download | mdhtml-510d6384033259be44b55e73283bafe38a53190a.tar.gz mdhtml-510d6384033259be44b55e73283bafe38a53190a.tar.bz2 mdhtml-510d6384033259be44b55e73283bafe38a53190a.zip |
+find_string algorithm
This algorithm looks for substrings in a big string, attempting to find
the index of the first occurence.
Diffstat (limited to 'Converter')
-rw-r--r-- | Converter/includes/compiler.h | 3 | ||||
-rw-r--r-- | Converter/src/compiler.c | 9 |
2 files changed, 10 insertions, 2 deletions
diff --git a/Converter/includes/compiler.h b/Converter/includes/compiler.h index 8b2fa1f..3b89b49 100644 --- a/Converter/includes/compiler.h +++ b/Converter/includes/compiler.h @@ -4,6 +4,7 @@ #include <stdlib.h> typedef char *string; -string compile_line(string line, size_t size_of_line, string line_or_source); +string compile_line(string line, size_t sz_line, string line_or_source); +int find_string(string src, string query, size_t sz_src, size_t sz_query); #endif // __COMPILER_H_ diff --git a/Converter/src/compiler.c b/Converter/src/compiler.c index 7efa032..df97c22 100644 --- a/Converter/src/compiler.c +++ b/Converter/src/compiler.c @@ -2,7 +2,14 @@ #include <stdio.h> #include <string.h> -void compile_inner_text(string dest, string src, size_t size_of_line, +int find_string(string src, string query, size_t sz_src, size_t sz_query) +{ + int j = 0; + while ((j < (sz_src - sz_query)) && (strncmp(query, src + j, sz_query))) ++j; + return j; +} + +void compile_inner_text(string dest, string src, size_t sz_src, string line_or_source) { /* cursor is the current index on the dest pointer |