OSDN Git Service

[Refactor] #37353 dungeon.c/h を追加。
[hengband/hengband.git] / src / inet.c
index d5fbac7..d45198a 100644 (file)
@@ -1,6 +1,8 @@
 /* File: inet.c */
 
 #include "angband.h"
+#include "util.h"
+
 
 #ifdef WORLD_SCORE
 
@@ -26,7 +28,7 @@
 
 #include <stdlib.h>
 
-static cptr errstr;
+static concptr errstr;
 static char    *proxy;
 static int     proxy_port;
 
@@ -165,7 +167,7 @@ void set_proxy(char *default_url, int default_port)
 
        /* ポート番号があるかどうかを調べ、あればproxy_portに設定。 */
        --len;
-       while (len > 0 && isdigit(s[len]))
+       while (len > 0 && isdigit((unsigned char)s[len]))
                --len;
        if (len > 0 && s[len] == ':' && s[len + 1] != '\0')
        {
@@ -211,6 +213,31 @@ int soc_write(int sd, char *buf, size_t sz)
        return sz;
 }
 
+int soc_read(int sd, char *buf, size_t sz)
+{
+#ifndef MACINTOSH
+       int nleft, nread = 0;
+
+       nleft = sz;
+
+       while (nleft > 0) {
+               int n;
+               n = recv(sd, buf + nread, nleft, 0);
+               if (n <= 0)
+                       return (nread);
+               nleft -= n;
+               nread += n;
+       }
+#else /* !MACINTOSH */
+
+       OTResult bytesSent;
+
+       OTSnd(ep, (void *)buf, sz, 0);
+
+#endif
+       return nread;
+}
+
 #if 0 /* おそらく使わない */
 int soc_write_str(int sd, char *buf)
 {
@@ -253,7 +280,7 @@ static void interrupt_report(int sig)
 
 
 /* サーバにコネクトする関数。 */
-int connect_server(int timeout, const char *host, int port)
+int connect_server(int timeout, concptr host, int port)
 #ifndef MACINTOSH
 {
        int                     sd;
@@ -490,7 +517,7 @@ int disconnect_server(int sd)
 #endif
 }
 
-cptr soc_err()
+concptr soc_err()
 {
        return errstr;
 }