Changeset 212 in Main for trunk/Common


Ignore:
Timestamp:
Oct 3, 2024, 2:44:55 AM (6 weeks ago)
Author:
Nishi
Message:

compiles on vc6

Location:
trunk/Common
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/Makefile

    r21 r212  
    11# $Id$
    22
     3OBJ=o
     4STATIC=a
     5AR_FLAGS=rcs
    36include $(PWD)/Platform/$(PLATFORM).mk
    47
    58.PHONY: all clean
    6 .SUFFIXES: .c .o
     9.SUFFIXES: .c .$(OBJ)
    710
    8 OBJS = string.o log.o dir.o
     11OBJS = string.$(OBJ) log.$(OBJ) dir.$(OBJ)
    912
    10 all: common.a
     13all: common.$(STATIC)
    1114
    12 common.a: $(OBJS)
    13         $(AR) rcs $@ $(OBJS)
     15common.$(STATIC): $(OBJS)
     16        $(AR) $(AR_FLAGS)$@ $(OBJS)
    1417
    15 .c.o:
     18.c.$(OBJ):
    1619        $(CC) $(CFLAGS) -c -o $@ $<
    1720
    1821clean:
    19         rm -f *.o *.a
     22        rm -f *.o *.a *.lib
  • trunk/Common/dir.c

    r150 r212  
    66
    77#include <sys/stat.h>
     8#ifndef _MSC_VER
    89#include <dirent.h>
     10#endif
    911#include <stdlib.h>
    1012#include <string.h>
     
    1719
    1820char** cm_scandir(const char* path) {
     21#ifdef _MSC_VER
     22        return NULL;
     23#else
    1924        DIR* dir = opendir(path);
    2025        if(dir != NULL) {
    2126                char** r = malloc(sizeof(*r));
     27                struct dirent* d;
    2228                r[0] = NULL;
    23                 struct dirent* d;
    2429                while((d = readdir(dir)) != NULL) {
    2530                        if(strcmp(d->d_name, ".") != 0 && strcmp(d->d_name, "..") != 0) {
     
    6166                return NULL;
    6267        }
     68#endif
    6369}
  • trunk/Common/log.c

    r191 r212  
    4242
    4343void cm_log(const char* name, const char* log, ...) {
     44        va_list args;
     45        char namebuf[LOGNAME_LENGTH + 1];
     46        int i;
     47        char* result;
     48        char cbuf[2];
    4449        if(!cm_do_log) return;
    45         va_list args;
    4650        va_start(args, log);
    47         char namebuf[LOGNAME_LENGTH + 1];
    4851        memset(namebuf, '.', LOGNAME_LENGTH);
    4952        namebuf[LOGNAME_LENGTH] = 0;
    50         int i;
    5153        for(i = 0; name[i] != 0 && i < LOGNAME_LENGTH; i++) {
    5254                namebuf[i] = name[i];
    5355        }
    5456
    55         char* result = malloc(1);
     57        result = malloc(1);
    5658        result[0] = 0;
    5759
    58         char cbuf[2];
    5960        cbuf[1] = 0;
    6061
     
    7071                                int a = va_arg(args, int);
    7172                                char buf[128];
     73                                char* tmp = result;
    7274                                sprintf(buf, "%d", a);
    73                                 char* tmp = result;
    7475                                result = cm_strcat(tmp, buf);
    7576                                free(tmp);
    7677                        }
    7778                } else {
     79                        char* tmp = result;
    7880                        cbuf[0] = log[i];
    79                         char* tmp = result;
    8081                        result = cm_strcat(tmp, cbuf);
    8182                        free(tmp);
  • trunk/Common/string.c

    r70 r212  
    88
    99char* cm_strcat(const char* a, const char* b) {
     10        char* str;
    1011        if(a == NULL) a = "";
    1112        if(b == NULL) b = "";
    12         char* str = malloc(strlen(a) + strlen(b) + 1);
     13        str = malloc(strlen(a) + strlen(b) + 1);
    1314        memcpy(str, a, strlen(a));
    1415        memcpy(str + strlen(a), b, strlen(b));
     
    2728
    2829bool cm_endswith(const char* str, const char* end) {
     30        int i;
    2931        if(strlen(str) < strlen(end)) return false;
    30         int i;
    3132        for(i = strlen(str) - strlen(end); i < strlen(str); i++) {
    3233                if(str[i] != end[i - strlen(str) + strlen(end)]) return false;
     
    3637
    3738bool cm_nocase_endswith(const char* str, const char* end) {
     39        int i;
    3840        if(strlen(str) < strlen(end)) return false;
    39         int i;
    4041        for(i = strlen(str) - strlen(end); i < strlen(str); i++) {
    4142                if(tolower(str[i]) != tolower(end[i - strlen(str) + strlen(end)])) return false;
     
    7677        int i;
    7778        char** r = malloc(sizeof(*r));
    78         r[0] = NULL;
    7979        char* b = malloc(1);
    80         b[0] = 0;
    8180        char cbuf[2];
    82         cbuf[1] = 0;
    8381        bool dq = false;
    8482        bool sq = false;
     83        r[0] = NULL;
     84        b[0] = 0;
     85        cbuf[1] = 0;
    8586        for(i = 0;; i++) {
    8687                int j;
     
    113114                                sq = !sq;
    114115                        } else {
     116                                char* tmp = b;
    115117                                cbuf[0] = str[i];
    116                                 char* tmp = b;
    117118                                b = cm_strcat(tmp, cbuf);
    118119                                free(tmp);
     
    125126
    126127bool cm_strcaseequ(const char* a, const char* b) {
     128        int i;
    127129        if(a == NULL) return false;
    128130        if(b == NULL) return false;
    129131        if(strlen(a) != strlen(b)) return false;
    130         int i;
    131132        for(i = 0; a[i] != 0; i++) {
    132133                if(tolower(a[i]) != tolower(b[i])) return false;
     
    155156        int i;
    156157        char* result = malloc(1);
     158        char cbuf[2];
    157159        result[0] = 0;
    158         char cbuf[2];
    159160        cbuf[1] = 0;
    160161        for(i = 0; str[i] != 0; i++) {
     
    184185        int i;
    185186        char* result = malloc(1);
     187        char cbuf[2];
    186188        result[0] = 0;
    187         char cbuf[2];
    188189        cbuf[1] = 0;
    189190        for(i = 0; str[i] != 0; i++) {
     
    191192                if('!' <= str[i] && str[i] <= '@' && str[i] != '.' && str[i] != '-' && str[i] != '/' && !('0' <= str[i] && str[i] <= '9')) {
    192193                        char code[4];
     194                        char* tmp = result;
    193195                        sprintf(code, "%%%02X", str[i]);
    194                         char* tmp = result;
    195196                        result = cm_strcat(tmp, code);
    196197                        free(tmp);
Note: See TracChangeset for help on using the changeset viewer.