Changeset 21 in Main for trunk/Common


Ignore:
Timestamp:
Sep 14, 2024, 9:39:39 PM (2 months ago)
Author:
Nishi
Message:

can send file now

Location:
trunk/Common
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Makefile

    r6 r21  
    66.SUFFIXES: .c .o
    77
    8 OBJS = string.o log.o
     8OBJS = string.o log.o dir.o
    99
    1010all: common.a
  • trunk/Common/cm_string.h

    r20 r21  
    88int cm_hex(const char* str, int len);
    99char* cm_html_escape(const char* str);
     10char* cm_url_escape(const char* str);
    1011char* cm_strcat(const char* a, const char* b);
    1112char* cm_strcat3(const char* a, const char* b, const char* c);
  • trunk/Common/string.c

    r20 r21  
    160160        return result;
    161161}
     162
     163char* cm_url_escape(const char* str) {
     164        int i;
     165        char* result = malloc(1);
     166        result[0] = 0;
     167        char cbuf[2];
     168        cbuf[1] = 0;
     169        for(i = 0; str[i] != 0; i++) {
     170                cbuf[0] = str[i];
     171                if('!' <= str[i] && str[i] <= '@' && str[i] != '.' && str[i] != '-' && str[i] != '/' && !('0' <= str[i] && str[i] <= '9')) {
     172                        char code[4];
     173                        sprintf(code, "%%%02X", str[i]);
     174                        char* tmp = result;
     175                        result = cm_strcat(tmp, code);
     176                        free(tmp);
     177                } else {
     178                        char* tmp = result;
     179                        result = cm_strcat(tmp, cbuf);
     180                        free(tmp);
     181                }
     182        }
     183        return result;
     184}
Note: See TracChangeset for help on using the changeset viewer.