Changeset 8312577 in mainline for uspace/app/edit/search.c
- Timestamp:
- 2012-08-17T11:44:43Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1d5a540
- Parents:
- 2f136e4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/edit/search.c
r2f136e4 r8312577 41 41 #include "search_impl.h" 42 42 43 search_t *search_init(const char *pattern, void *client_data, search_ops_t ops) 43 search_t *search_init(const char *pattern, void *client_data, search_ops_t ops, 44 bool reverse) 44 45 { 45 46 search_t *search = calloc(1, sizeof(search_t)); … … 47 48 return NULL; 48 49 49 search->pattern= str_to_awstr(pattern);50 if ( search->pattern== NULL) {50 wchar_t *p = str_to_awstr(pattern); 51 if (p == NULL) { 51 52 free(search); 52 53 return NULL; 53 54 } 54 55 56 search->pattern_length = wstr_length(p); 57 58 if (reverse) { 59 /* Reverse the pattern */ 60 size_t pos, half; 61 half = search->pattern_length / 2; 62 for (pos = 0; pos < half; pos++) { 63 wchar_t tmp = p[pos]; 64 p[pos] = p[search->pattern_length - pos - 1]; 65 p[search->pattern_length - pos - 1] = tmp; 66 } 67 } 68 69 search->pattern = p; 70 55 71 search->client_data = client_data; 56 72 search->ops = ops; 57 search->pattern_length = wstr_length(search->pattern);58 73 search->back_table = calloc(search->pattern_length, sizeof(ssize_t)); 59 74 if (search->back_table == NULL) {
Note:
See TracChangeset
for help on using the changeset viewer.