Changeset 215 in Main for trunk/Server/server.c


Ignore:
Timestamp:
Oct 3, 2024, 4:24:43 AM (6 weeks ago)
Author:
Nishi
Message:

can be compiled using bcc32 now

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Server/server.c

    r214 r215  
    1616#include "tw_version.h"
    1717
    18 #ifndef _MSC_VER
     18#if !defined(_MSC_VER) && !defined(__BORLANDC__)
    1919#include <unistd.h>
    2020#endif
     
    3333#include <cm_dir.h>
    3434
    35 #if defined(__MINGW32__) || defined(_MSC_VER)
     35#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    3636#ifndef NO_GETADDRINFO
    3737#include <ws2tcpip.h>
     
    8484int sockets[MAX_PORTS];
    8585
    86 #if defined(__MINGW32__) || defined(_MSC_VER)
     86#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    8787const char* reserved_names[] = {"CON", "PRN", "AUX", "NUL", "COM1", "COM2", "COM3", "COM4", "COM5", "COM6", "COM7", "COM8", "COM9", "LPT1", "LPT2", "LPT3", "LPT4", "LPT5", "LPT6", "LPT7", "LPT8", "LPT9"};
    8888#endif
     
    111111
    112112void close_socket(int sock) {
    113 #if defined(__MINGW32__) || defined(_MSC_VER)
     113#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    114114        closesocket(sock);
    115115#else
     
    120120int tw_server_init(void) {
    121121        int i;
    122 #if defined(__MINGW32__) || defined(_MSC_VER)
     122#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    123123        WSADATA wsa;
    124124        WSAStartup(MAKEWORD(2, 0), &wsa);
     
    135135                int sock = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP);
    136136#endif
    137 #if defined(__MINGW32__) || defined(_MSC_VER)
     137#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    138138                if(sock == INVALID_SOCKET)
    139139#else
     
    238238                doc = NULL;
    239239        }
    240 #ifdef _MSC_VER
     240#if defined(_MSC_VER) || defined(__BORLANDC__)
    241241        sprintf(construct, "%lu", (unsigned long)size);
    242242#else
     
    451451#if defined(__MINGW32__) || defined(_MSC_VER)
    452452unsigned int WINAPI tw_server_pass(void* ptr) {
     453#elif defined(__BORLANDC__)
     454void tw_server_pass(void* ptr) {
    453455#elif defined(__HAIKU__)
    454456int32_t tw_server_pass(void* ptr) {
     
    456458int tw_server_pass(void* ptr) {
    457459#endif
    458 #if defined(__HAIKU__) || defined(__MINGW32__) || defined(_PSP) || defined(__PPU__) || defined(_MSC_VER)
     460#if defined(__HAIKU__) || defined(__MINGW32__) || defined(_PSP) || defined(__PPU__) || defined(_MSC_VER) || defined(__BORLANDC__)
    459461#define FREE_PTR
    460462        int sock = ((struct pass_entry*)ptr)->sock;
     
    549551                                        struct tm* btm;
    550552                                        strptime(req.headers[i + 1], "%a, %d %b %Y %H:%M:%S GMT", &tm);
    551 #if defined(__MINGW32__) || defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__) || defined(_MSC_VER)
     553#if defined(__MINGW32__) || defined(_PSP) || defined(__PPU__) || defined(__ps2sdk__) || defined(_MSC_VER) || defined(__BORLANDC__)
    552554                                        t = 0;
    553555                                        btm = localtime(&t);
     
    612614                        char* rpath;
    613615                        struct stat st;
     616                        char* slash;
    614617                        cm_log("Server", "Document root is %s", vhost_entry->root == NULL ? "not set" : vhost_entry->root);
    615618                        path = cm_strcat(vhost_entry->root == NULL ? "" : vhost_entry->root, req.path);
    616619                        cm_log("Server", "Filesystem path is %s", path);
    617 #if defined(__MINGW32__) || defined(_MSC_VER)
     620#if defined(_MSC_VER) || defined(__BORLANDC__)
     621                        for(i = strlen(path) - 1; i >= 0; i--){
     622                                if(path[i] == '/'){
     623                                        path[i] = 0;
     624                                }else{
     625                                        break;
     626                                }
     627                        }
     628#endif
     629#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    618630                        rpath = cm_strdup(path);
    619631                        for(i = strlen(rpath) - 1; i >= 0; i--) {
     
    647659                                } else if(S_ISDIR(st.st_mode)) {
    648660                                        if(req.path[strlen(req.path) - 1] != '/') {
    649                                                 char* headers[3] = {"Location", cm_strcat(req.path, "/"), NULL};
     661                                                char* headers[3] = {"Location", NULL, NULL};
     662                                                headers[1] = cm_strcat(req.path, "/");
    650663                                                cm_log("Server", "Accessing directory without the slash at the end");
    651664                                                _tw_process_page(s, sock, tw_http_status(301), NULL, NULL, NULL, 0, headers, 0, 0);
     
    885898#endif
    886899        close_socket(sock);
    887 #if defined(__MINGW32__) || defined(_MSC_VER)
    888         _endthread(0);
     900#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
     901        _endthread(
     902#ifndef __BORLANDC__
     903                0
     904#endif
     905        );
    889906#elif defined(__HAIKU__)
    890907                exit_thread(0);
    891908#endif
     909#ifndef __BORLANDC__
    892910        return 0;
     911#endif
    893912}
    894913
     
    898917#endif
    899918
    900 #if defined(__MINGW32__) || defined(__HAIKU__) || defined(_MSC_VER)
     919#if defined(__MINGW32__) || defined(__HAIKU__) || defined(_MSC_VER) || defined(__BORLANDC__)
    901920struct thread_entry {
    902921#ifdef __HAIKU__
     
    917936        struct timeval tv;
    918937#endif
    919 #if defined(__MINGW32__) || defined(__HAIKU__) || defined(_MSC_VER)
     938#if defined(__MINGW32__) || defined(__HAIKU__) || defined(_MSC_VER) || defined(__BORLANDC__)
    920939        struct thread_entry threads[2048];
    921940        for(i = 0; i < sizeof(threads) / sizeof(threads[0]); i++) {
     
    948967#endif
    949968                if(ret == -1) {
    950 #if !defined(__MINGW32__) && !defined(_MSC_VER)
     969#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(__BORLANDC__)
    951970                        cm_log("Server", "Select failure: %s", strerror(errno));
    952971#endif
     
    972991                                        socklen_t clen = sizeof(claddr);
    973992                                        int sock = accept(sockets[i], (struct sockaddr*)&claddr, &clen);
    974 #if defined(__MINGW32__) || defined(__HAIKU__) || defined(_PSP) || defined(__PPU__) || defined(_MSC_VER)
     993#if defined(__MINGW32__) || defined(__HAIKU__) || defined(_PSP) || defined(__PPU__) || defined(_MSC_VER) || defined(__BORLANDC__)
    975994                                        int j;
    976995                                        struct pass_entry* e = malloc(sizeof(*e));
    977996                                        cm_log("Server", "New connection accepted");
    978997                                        e->sock = sock;
    979 #ifdef _MSC_VER
     998#if defined(_MSC_VER) || defined(__BORLANDC__)
    980999                                        e->ssl = config.ports[i] & (1UL << 31);
    9811000#else
     
    9851004                                        e->addr = claddr;
    9861005#endif
    987 #if defined(__MINGW32__) || defined(_MSC_VER)
     1006#if defined(__MINGW32__) || defined(_MSC_VER) || defined(__BORLANDC__)
    9881007                                        _beginthread(tw_server_pass, 0, e);
    9891008#elif defined(_PSP) || defined(__PPU__)
Note: See TracChangeset for help on using the changeset viewer.