Changeset 70 in Main for trunk/Common


Ignore:
Timestamp:
Sep 19, 2024, 6:23:45 PM (2 months ago)
Author:
Nishi
Message:

patch for windows xp

Location:
trunk/Common
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/cm_string.h

    r21 r70  
    77
    88int cm_hex(const char* str, int len);
     9bool cm_nocase_endswith(const char* str, const char* end);
     10bool cm_endswith(const char* str, const char* end);
    911char* cm_html_escape(const char* str);
    1012char* cm_url_escape(const char* str);
  • trunk/Common/string.c

    r21 r70  
    88
    99char* cm_strcat(const char* a, const char* b) {
     10        if(a == NULL) a = "";
     11        if(b == NULL) b = "";
    1012        char* str = malloc(strlen(a) + strlen(b) + 1);
    1113        memcpy(str, a, strlen(a));
     
    2325
    2426char* cm_strdup(const char* str) { return cm_strcat(str, ""); }
     27
     28bool cm_endswith(const char* str, const char* end) {
     29        if(strlen(str) < strlen(end)) return false;
     30        int i;
     31        for(i = strlen(str) - strlen(end); i < strlen(str); i++) {
     32                if(str[i] != end[i - strlen(str) + strlen(end)]) return false;
     33        }
     34        return true;
     35}
     36
     37bool cm_nocase_endswith(const char* str, const char* end) {
     38        if(strlen(str) < strlen(end)) return false;
     39        int i;
     40        for(i = strlen(str) - strlen(end); i < strlen(str); i++) {
     41                if(tolower(str[i]) != tolower(end[i - strlen(str) + strlen(end)])) return false;
     42        }
     43        return true;
     44}
    2545
    2646char* cm_trimstart(const char* str) {
Note: See TracChangeset for help on using the changeset viewer.