瀏覽代碼

Misc patches to make windows build work. Now everything is done except the sockets stuff

svn:r393
Nick Mathewson 21 年之前
父節點
當前提交
9cf01020cc
共有 4 個文件被更改,包括 12 次插入6 次删除
  1. 1 1
      src/or/directory.c
  2. 7 3
      src/or/main.c
  3. 2 2
      src/or/or.h
  4. 2 0
      src/win32/orconfig.h

+ 1 - 1
src/or/directory.c

@@ -181,7 +181,7 @@ int directory_handle_command(connection_t *conn) {
 
   assert(conn && conn->type == CONN_TYPE_DIR);
 
-  if(conn->inbuf_datalen < strlen(getstring)) { /* entire response available? */
+  if(conn->inbuf_datalen < (int)strlen(getstring)) { /* entire response available? */
     log_fn(LOG_DEBUG,"Entire command not here yet. Waiting.");
     return 0; /* not yet */
   }

+ 7 - 3
src/or/main.c

@@ -513,10 +513,12 @@ static int do_main_loop(void) {
    * non-zero. This is where we try to connect to all the other ORs,
    * and start the listeners
    */
-  retry_all_connections(options.ORPort, options.APPort, options.DirPort);
+  retry_all_connections((uint16_t) options.ORPort,
+	                    (uint16_t) options.APPort,
+						(uint16_t) options.DirPort);
 
   for(;;) {
-#ifndef MS_WINDOWS /* do signal stuff only on unix */
+#ifndef MS_WIN32 /* do signal stuff only on unix */
     if(please_dumpstats) {
       dumpstats();
       please_dumpstats = 0;
@@ -588,7 +590,7 @@ static int do_main_loop(void) {
 
 static void catch(int the_signal) {
 
-#ifndef MS_WINDOWS /* do signal stuff only on unix */
+#ifndef MS_WIN32 /* do signal stuff only on unix */
   switch(the_signal) {
 //    case SIGABRT:
     case SIGTERM:
@@ -822,6 +824,7 @@ dump_signed_directory_to_string_impl(char *s, int maxlen, directory_t *dir,
 }
 
 void daemonize(void) {
+#ifndef MS_WINDOWS
   /* Fork; parent exits. */
   if (fork())
     exit(0);
@@ -837,6 +840,7 @@ void daemonize(void) {
   fclose(stdin);
   fclose(stdout); /* XXX Nick: this closes our log, right? is it safe to leave this open? */
   fclose(stderr);
+#endif
 }
 
 int tor_main(int argc, char *argv[]) {

+ 2 - 2
src/or/or.h

@@ -82,11 +82,11 @@
 #include <winsock.h>
 #endif
 
-#ifdef _MSC_VER
+#ifdef MS_WINDOWS
 #include <io.h>
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
-#define snprintf
+#define snprintf _snprintf
 #endif
 
 

+ 2 - 0
src/win32/orconfig.h

@@ -2,6 +2,8 @@
  * orconfig.h  -- This file is *not* generated by autoconf.  Instead,
  * it has to be hand-edited to keep win32 happy.
  */
+#define MS_WINDOWS
+#define MS_WIN32
 
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H