gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r1568 - in GNUnet/src: applications/fs/ecrs applications/fs


From: grothoff
Subject: [GNUnet-SVN] r1568 - in GNUnet/src: applications/fs/ecrs applications/fs/module applications/testbed conf server transports util
Date: Sat, 16 Jul 2005 14:50:34 -0700 (PDT)

Author: grothoff
Date: 2005-07-16 14:50:19 -0700 (Sat, 16 Jul 2005)
New Revision: 1568

Modified:
   GNUnet/src/applications/fs/ecrs/indexinfo.c
   GNUnet/src/applications/fs/module/ondemand.c
   GNUnet/src/applications/testbed/commands.c
   GNUnet/src/applications/testbed/socket.c
   GNUnet/src/applications/testbed/socket.h
   GNUnet/src/applications/testbed/testbed.c
   GNUnet/src/conf/wizard_curs.c
   GNUnet/src/conf/wizard_util.c
   GNUnet/src/server/tcpserver.c
   GNUnet/src/transports/http.c
   GNUnet/src/transports/smtp.c
   GNUnet/src/transports/tcp.c
   GNUnet/src/util/osconfig.c
   GNUnet/src/util/tcpio.c
   GNUnet/src/util/vector.c
Log:
fixing a bunch of 64-bit size_t related compiler warnings (but nothing that 
looked like a major problem)

Modified: GNUnet/src/applications/fs/ecrs/indexinfo.c
===================================================================
--- GNUnet/src/applications/fs/ecrs/indexinfo.c 2005-07-16 21:25:05 UTC (rev 
1567)
+++ GNUnet/src/applications/fs/ecrs/indexinfo.c 2005-07-16 21:50:19 UTC (rev 
1568)
@@ -67,7 +67,7 @@
   struct iiC * cls = ptr;
   char * fullName;
   char * lnkName;
-  size_t size;
+  unsigned int size;
   int ret;
 
   fullName = MALLOC(strlen(dir) + strlen(fn) + 4);
@@ -82,6 +82,11 @@
                   size - 1);
     if (ret == -1) {
       if (errno == ENAMETOOLONG) {
+       if (size * 2 < size) {
+         FREE(lnkName);
+         FREE(fullName);
+         return OK; /* error */
+       }
        GROW(lnkName,
             size,
             size * 2);

Modified: GNUnet/src/applications/fs/module/ondemand.c
===================================================================
--- GNUnet/src/applications/fs/module/ondemand.c        2005-07-16 21:25:05 UTC 
(rev 1567)
+++ GNUnet/src/applications/fs/module/ondemand.c        2005-07-16 21:50:19 UTC 
(rev 1568)
@@ -392,7 +392,7 @@
       } else {
         /* Delete it after 3 days */
         if (*first_unavail - cronTime(NULL) > 3 * cronDAYS) {
-         size_t len;
+         unsigned int len;
          char * ofn;
          int ret;
 
@@ -401,7 +401,15 @@
          while ( ((ret = READLINK(fn, ofn, len)) == -1) &&
                  (errno == ENAMETOOLONG) &&
                  (len < 4 * 1024 * 1024) )
-           GROW(ofn, len, len*2);
+           if (len * 2 < len) {
+             BREAK();
+             GROW(ofn, len, 0);
+             FREE(fn);
+             return SYSERR;
+           }
+           GROW(ofn, 
+                len, 
+                len*2);
                
           if (ret != -1) {
             LOG(LOG_ERROR,

Modified: GNUnet/src/applications/testbed/commands.c
===================================================================
--- GNUnet/src/applications/testbed/commands.c  2005-07-16 21:25:05 UTC (rev 
1567)
+++ GNUnet/src/applications/testbed/commands.c  2005-07-16 21:50:19 UTC (rev 
1568)
@@ -314,8 +314,8 @@
     addr.sin_port
       = htons(lport);
     if (0 == BIND(s,
-                 &addr,
-                 sizeof(addr))) {
+                 (const struct sockaddr *) &addr,
+                 sizeof(struct sockaddr_in))) {
       closefile(s);
       break; /* found port! */
     } else {
@@ -1453,7 +1453,7 @@
   struct hostent *ip_info;
   struct sockaddr_in soaddr;
   int sock;
-  int ret;
+  size_t ret;
   char * command;
   cron_t start;
   char c;
@@ -1653,7 +1653,7 @@
       gnunet_util_sleep(100 * cronMILLIS);
       continue;
     }
-    if (ret <= 0)
+    if ( (ret == 0) || (ret == (size_t)-1) )
       break; /* end of transmission or error */
     if ((c=='\r') || (c=='\n'))
       curpos += ret;
@@ -1687,7 +1687,7 @@
         gnunet_util_sleep(20);
        continue;
       }
-      if (ret <= 0)
+      if ( (ret == 0) || (ret == (size_t)-1) )
        break; /* end of file or error*/
       curpos += ret;
 

Modified: GNUnet/src/applications/testbed/socket.c
===================================================================
--- GNUnet/src/applications/testbed/socket.c    2005-07-16 21:25:05 UTC (rev 
1567)
+++ GNUnet/src/applications/testbed/socket.c    2005-07-16 21:50:19 UTC (rev 
1568)
@@ -142,7 +142,8 @@
 /**
  * Print a message in the testbed-shell.
  */
-void XPRINTF(char * fmt, ...) {
+void XPRINTF(const char * fmt, 
+            ...) {
   va_list      args;
   int n;
   int size = 1024;

Modified: GNUnet/src/applications/testbed/socket.h
===================================================================
--- GNUnet/src/applications/testbed/socket.h    2005-07-16 21:25:05 UTC (rev 
1567)
+++ GNUnet/src/applications/testbed/socket.h    2005-07-16 21:50:19 UTC (rev 
1568)
@@ -51,7 +51,7 @@
 unsigned int readSocket(char ** rbuf,
                        unsigned int * len);
 
-void XPRINTF(char * fmt,
-           ...);
+void XPRINTF(const char * fmt,
+            ...);
 
 #endif

Modified: GNUnet/src/applications/testbed/testbed.c
===================================================================
--- GNUnet/src/applications/testbed/testbed.c   2005-07-16 21:25:05 UTC (rev 
1567)
+++ GNUnet/src/applications/testbed/testbed.c   2005-07-16 21:50:19 UTC (rev 
1568)
@@ -1022,7 +1022,7 @@
   struct hostent *ip_info;
   struct sockaddr_in soaddr;
   int sock;
-  int ret;
+  size_t ret;
   char * command;
   char * secure;
   char * trusted;
@@ -1256,7 +1256,7 @@
       gnunet_util_sleep(100 * cronMILLIS);
       continue;
     }
-    if (ret <= 0)
+    if ( (ret == 0) || (ret == (size_t) -1) )
       break; /* end of transmission or error */
     if ((c=='\r') || (c=='\n'))
       curpos += ret;

Modified: GNUnet/src/conf/wizard_curs.c
===================================================================
--- GNUnet/src/conf/wizard_curs.c       2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/conf/wizard_curs.c       2005-07-16 21:50:19 UTC (rev 1568)
@@ -38,15 +38,21 @@
 static struct dialog_list_item **nic_items;
 static int nic_item_count = 0;
 
-void showCursErr(char *prefix, char *error) {
-       char *err;
+void showCursErr(const char *prefix, 
+                const char *error) {
+  char *err;
        
-       err = malloc(strlen(prefix) + strlen(error) + 2);
-       sprintf(err, "%s %s", prefix, error);
-       
-       dialog_msgbox(_("Error"), err, rows, cols - 5, 1);
-       
-       free(err);      
+  err = malloc(strlen(prefix) + strlen(error) + 2);
+  sprintf(err, 
+         "%s %s", 
+         prefix, 
+         error);  
+  dialog_msgbox(_("Error"),
+               err, 
+               rows, 
+               cols - 5, 
+               1);  
+  free(err);   
 }
 
 void insert_nic_curs(char *name, int defaultNIC)
@@ -563,20 +569,25 @@
 
                /* Write conf */
                if (conf_write() != 0) {
-                       char *err, *prefix, *strerr;
+                 char * err;
+                 const char * prefix;
+                 const char * strerr;
                        
-                       prefix = _("Unable to save configuration file %s: 
%s.\n\nTry again?");
-                       strerr = STRERROR(errno);
+                 prefix = _("Unable to save configuration file %s: %s.\n\nTry 
again?");
+                 strerr = STRERROR(errno);
                        
-                       err = malloc(strlen(conf) + strlen(prefix) + 
strlen(strerr) + 1);
-                       sprintf(err, prefix, conf, strerr);
+                 err = malloc(strlen(conf) + strlen(prefix) + strlen(strerr) + 
1);
+                 sprintf(err, prefix, conf, strerr);
                        
-                       ret = dialog_yesno(_("GNUnet configuration"), err, 
rows, cols - 5);
+                 ret = dialog_yesno(_("GNUnet configuration"),
+                                    err, 
+                                    rows, 
+                                    cols - 5);
 
-                       free(err);
-               }
+                 free(err);
+               } 
                else
-                       ret = 1;
+                 ret = 1;
                        
                free(conf);
                        

Modified: GNUnet/src/conf/wizard_util.c
===================================================================
--- GNUnet/src/conf/wizard_util.c       2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/conf/wizard_util.c       2005-07-16 21:50:19 UTC (rev 1568)
@@ -79,48 +79,50 @@
  * @return 1 on success, 0 on error
  */
 int wiz_autostartService(int doAutoStart, char *username, char *groupname) {
-       char *err;
-       int ret = autostartService(doAutoStart, username, groupname);
-       
-       if (ret ) {
+  int ret = autostartService(doAutoStart, 
+                            username, 
+                            groupname);  
+  if (ret ) {
 #ifdef MINGW
-               switch(ret) {
-                       case 1:
-                               err = winErrorStr(_("Can't open Service Control 
Manager"),
-                                       GetLastError());
-                               break;
-                       case 2:
-                               if (GetLastError() != ERROR_SERVICE_EXISTS) {
-                                       err = winErrorStr(_("Can't create 
service"),
-                                       GetLastError());
-                               }
-                               break;
-                       case 3:
-                               err = winErrorStr(_("Error changing the 
permissions of the GNUnet directory"),
-                                       GetLastError());
-                               break;
-                       case 4:
-                       err = _("Cannot write to the regisitry");
-                       break;
-                       case 5:
-                               err = winErrorStr(_("Can't access the service"),
-                                       GetLastError());
-                       case 6:
-                               err = winErrorStr(_("Can't delete the service"),
-                                       GetLastError());
-                       default:
-                               err = winErrorStr(_("Unknown error"), 
GetLastError());
-               }
-               
-
-               MessageBox(GetActiveWindow(), err, _("Error"), MB_ICONSTOP | 
MB_OK);
-               free(err);
+    char *err;
+    switch(ret) {
+    case 1:
+      err = winErrorStr(_("Can't open Service Control Manager"),
+                       GetLastError());
+      break;
+    case 2:
+      if (GetLastError() != ERROR_SERVICE_EXISTS) {
+       err = winErrorStr(_("Can't create service"),
+                         GetLastError());
+      }
+      break;
+    case 3:
+      err = winErrorStr(_("Error changing the permissions of"
+                         " the GNUnet directory"),
+                       GetLastError());
+      break;
+    case 4:
+      err = _("Cannot write to the regisitry");
+      break;
+    case 5:
+      err = winErrorStr(_("Can't access the service"),
+                       GetLastError());
+    case 6:
+      err = winErrorStr(_("Can't delete the service"),
+                       GetLastError());
+    default:
+      err = winErrorStr(_("Unknown error"), GetLastError());
+    }  
+    MessageBox(GetActiveWindow(), 
+              err, 
+              _("Error"),
+              MB_ICONSTOP | MB_OK);
+    free(err);
 #endif
-
-               return 0;
-       }
-       
-       return 1;
+    
+    return 0;
+  } 
+  return 1;
 }
 
 /**
@@ -130,39 +132,38 @@
  * @return 1 on success
  */
 int wiz_createGroupUser(char *group_name, char *user_name) {
-       char *err;
-       int ret = createGroupUser(group_name, user_name);
-
-       if (ret) {
+  int ret = createGroupUser(group_name, user_name);
+  
+  if (ret) {
 #ifdef MINGW
-               switch(ret) {
-                       case 1:
-                               err = _("This version of Windows does not 
support "
-                                       "multiple users.");
-                               break;
-                       case 2:
-                               err = winErrorStr(_("Error creating user"), 
GetLastError());
-                               break;
-                       case 3:
-                               err = winErrorStr(_("Error accessing local 
security policy"), GetLastError());
-                               break;
-                       case 4:
-                               err = winErrorStr(_("Error granting service 
right to user"), GetLastError());
-                               break;
-                       default:
-                               err = winErrorStr(_("Unknown error while 
creating a new user"), GetLastError());
-               }
+    char *err;
 
-               if (err) {
-                       MessageBox(0, err, _("Error"), MB_ICONSTOP | MB_OK);
-                       free(err);
-               }
-#endif
-
-               return 0;
-       }
-       
-       return 1;
+    switch(ret) {
+    case 1:
+      err = _("This version of Windows does not support "
+             "multiple users.");
+      break;
+    case 2:
+      err = winErrorStr(_("Error creating user"), GetLastError());
+      break;
+    case 3:
+      err = winErrorStr(_("Error accessing local security policy"), 
GetLastError());
+      break;
+    case 4:
+      err = winErrorStr(_("Error granting service right to user"), 
GetLastError());
+      break;
+    default:
+      err = winErrorStr(_("Unknown error while creating a new user"), 
GetLastError());
+    }
+    
+    if (err) {
+      MessageBox(0, err, _("Error"), MB_ICONSTOP | MB_OK);
+      free(err);
+    }
+#endif    
+    return 0;
+  }  
+  return 1;
 }
 
 /* end of wizard_util.c */

Modified: GNUnet/src/server/tcpserver.c
===================================================================
--- GNUnet/src/server/tcpserver.c       2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/server/tcpserver.c       2005-07-16 21:50:19 UTC (rev 1568)
@@ -585,7 +585,7 @@
        }
       }
       if (FD_ISSET(sock, &writeSet)) {
-       int ret;
+       size_t ret;
        
 #if DEBUG_TCPHANDLER
        LOG(LOG_DEBUG,
@@ -635,7 +635,7 @@
          pos = ch;
          continue;
        }
-       if ((unsigned int)ret == pos->writeBufferSize) {
+       if (ret == pos->writeBufferSize) {
          FREENONNULL(pos->writeBuffer);
          pos->writeBuffer = NULL;
          pos->writeBufferSize = 0;

Modified: GNUnet/src/transports/http.c
===================================================================
--- GNUnet/src/transports/http.c        2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/transports/http.c        2005-07-16 21:50:19 UTC (rev 1568)
@@ -854,7 +854,7 @@
        }
       }
       if (FD_ISSET(sock, &writeSet)) {
-       int ret;
+       size_t ret;
        int success;
 
 try_again_1:
@@ -862,7 +862,7 @@
                                   httpSession->wbuff,
                                   httpSession->wpos,
                                   &ret);
-       if (success == SYSERR) {
+       if ( (success == SYSERR) || (ret == (size_t) -1) ) {
          LOG_STRERROR(LOG_WARNING, "send");
          destroySession(i);
          i--;
@@ -874,7 +874,7 @@
          gnunet_util_sleep(20);
          goto try_again_1;
        }
-       if (stats != NULL) 
+       if (stats != NULL)
          stats->change(stat_bytesSent,
                        ret);
 
@@ -886,7 +886,8 @@
          i--;
          continue;
        }
-       if ((unsigned int)ret == httpSession->wpos) {
+       GNUNET_ASSERT(ret <= httpSession->wpos);
+       if (ret == httpSession->wpos) {
          FREENONNULL(httpSession->wbuff);
          httpSession->wbuff = NULL;
          httpSession->wpos = 0;

Modified: GNUnet/src/transports/smtp.c
===================================================================
--- GNUnet/src/transports/smtp.c        2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/transports/smtp.c        2005-07-16 21:50:19 UTC (rev 1568)
@@ -1,5 +1,6 @@
 /*
      This file is part of GNUnet
+     (C) 2003, 2004 Christian Grothoff (and other contributing authors)
 
      GNUnet is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published
@@ -335,7 +336,7 @@
                        char * expect) {
   int pos;
   char buff[MAX_SMTP_LINE];
-  int i;
+  size_t i;
 
   pos = 0;
 
@@ -352,7 +353,7 @@
       goto try_again;
     }
        
-    if (i <= 0)
+    if ( (i == 0) || (i == (size_t) -1) ) 
       return SYSERR;
     while (i > 0) {
       if (buff[pos++] == '\n')
@@ -362,11 +363,12 @@
   }
  END:
   buff[pos] = '\0';
-  if (strncmp(expect, &buff[0], strlen(expect)) == 0)
+  if (strncmp(expect, 
+             &buff[0], 
+             strlen(expect)) == 0)
     return OK;
-  else {
+  else 
     return SYSERR;
-  }
 }
 
 /**

Modified: GNUnet/src/transports/tcp.c
===================================================================
--- GNUnet/src/transports/tcp.c 2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/transports/tcp.c 2005-07-16 21:50:19 UTC (rev 1568)
@@ -727,7 +727,7 @@
        }
       }
       if (FD_ISSET(sock, &writeSet)) {
-       int ret;
+       size_t ret;
        int success;
 
 try_again_1:
@@ -740,7 +740,7 @@
                                   tcpSession->wbuff,
                                   tcpSession->wpos,
                                   &ret);
-       if (success == SYSERR) {
+       if ( (success == SYSERR) || (ret == (size_t) -1) ) {
          LOG_STRERROR(LOG_WARNING, "send");
          destroySession(i);
          i--;
@@ -768,7 +768,7 @@
          i--;
          continue;
        }
-       if ((unsigned int)ret == tcpSession->wpos) {
+       if (ret == tcpSession->wpos) {
          FREENONNULL(tcpSession->wbuff);
          tcpSession->wbuff = NULL;
          tcpSession->wpos  = 0;

Modified: GNUnet/src/util/osconfig.c
===================================================================
--- GNUnet/src/util/osconfig.c  2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/util/osconfig.c  2005-07-16 21:50:19 UTC (rev 1568)
@@ -90,17 +90,15 @@
  * @return 1 if yes, 0 otherwise
  */
 int isOSAutostartCapable() {
-#ifdef WINDOWS
-       return 1;
-#endif
 #ifdef LINUX
-       if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
-               /* Debian */
-               if (ACCESS("/etc/init.d/", W_OK) == 0)
-                       return 1;
-       }
-       
-       return 0;
+  if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
+    /* Debian */
+    if (ACCESS("/etc/init.d/", W_OK) == 0)
+      return 1;
+  }  
+  return 0;
+#else
+  return 1;
 #endif
 }
 
@@ -113,170 +111,169 @@
  */
 int autostartService(int doAutoStart, char *username, char *groupname) {
 #ifdef WINDOWS
-       if (doAutoStart)
+  if (doAutoStart)
+    {
+      if (IsWinNT())
        {
-               if (IsWinNT())
-               {
-                       char *err = NULL;
-                       DWORD dwErr = 0;
-                       
-                       if (username && !strlen(username))
-                               username = NULL;
-                       
-                       /* Install service */
-                       switch(InstallAsService(username))
-                       {
-                               case 0:
-                               case 1:
-                                       break;
-                               case 2:
-                                       if (GetLastError() != 
ERROR_SERVICE_EXISTS)
-                                               return 1;
-                               case 3:
-                                       return 2;
-                               default:
-                                       return -1;
-                       }
-                       
-                       /* Grant permissions to the GNUnet directory */
-                       if ((!err || dwErr == ERROR_SERVICE_EXISTS) && username)
-                       {
-                               char szHome[_MAX_PATH + 1];
-
-                               plibc_conv_to_win_path("/", szHome);
-
-                               if (!AddPathAccessRights(szHome, username, 
GENERIC_ALL))
-                                       return 3;
-                       }
-               }
-               else
-               {
-                       char szPath[_MAX_PATH + 1];
-                       plibc_conv_to_win_path("/bin/gnunetd.exe", szPath);
-                       
-                       if (RegSetValue(HKEY_LOCAL_MACHINE,
-                               
"Software\\Microsoft\\Windows\\CurrentVersion\\Run", REG_SZ, szPath, 
-                               strlen(szPath)) != ERROR_SUCCESS)
-                       {
-                               return 4;
-                       }
-               }
+         char *err = NULL;
+         DWORD dwErr = 0;
+         
+         if (username && !strlen(username))
+           username = NULL;
+         
+         /* Install service */
+         switch(InstallAsService(username))
+           {
+           case 0:
+           case 1:
+             break;
+           case 2:
+             if (GetLastError() != ERROR_SERVICE_EXISTS)
+               return 1;
+           case 3:
+             return 2;
+           default:
+             return -1;
+           }
+         
+         /* Grant permissions to the GNUnet directory */
+         if ((!err || dwErr == ERROR_SERVICE_EXISTS) && username)
+           {
+             char szHome[_MAX_PATH + 1];
+             
+             plibc_conv_to_win_path("/", szHome);
+             
+             if (!AddPathAccessRights(szHome, username, GENERIC_ALL))
+               return 3;
+           }
        }
-       else
+      else
        {
-               if (IsWinNT())
-               {
-                       char *err = NULL;
-                                               
-                       switch (UninstallService())
-                       {
-                               case 0:
-                               case 1:
-                                       break;
-                               case 2:
-                                       return 1;
-                               case 3:
-                                       return 5;
-                               case 4:
-                                       return 6;
-                               default:
-                                       return -1;
-                       }
-               }
-               else
-               {
-                       HKEY hKey;
-                       
-                 if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
-                       "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 0, 
KEY_SET_VALUE,
+         char szPath[_MAX_PATH + 1];
+         plibc_conv_to_win_path("/bin/gnunetd.exe", szPath);
+         
+         if (RegSetValue(HKEY_LOCAL_MACHINE,
+                         "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 
REG_SZ, szPath, 
+                         strlen(szPath)) != ERROR_SUCCESS)
+           {
+             return 4;
+           }
+       }
+    }
+  else
+    {
+      if (IsWinNT())
+       {
+         char *err = NULL;
+         
+         switch (UninstallService())
+           {
+           case 0:
+           case 1:
+             break;
+           case 2:
+             return 1;
+           case 3:
+             return 5;
+           case 4:
+             return 6;
+           default:
+             return -1;
+           }
+       }
+      else
+       {
+         HKEY hKey;
+         
+         if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
+                         "Software\\Microsoft\\Windows\\CurrentVersion\\Run", 
0, KEY_SET_VALUE,
                        &hKey) == ERROR_SUCCESS)
-                 {
-                   RegDeleteValue(hKey, "GNUnet");
-               
-                   RegCloseKey(hKey);
-                 }
-               }
+           {
+             RegDeleteValue(hKey, "GNUnet");
+             
+             RegCloseKey(hKey);
+           }
        }
+    }
 #else
-       /* Unix */
+  /* Unix */
+  if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
+    /* Debian */
+    if (doAutoStart) {
+      struct stat buf;
+      if (STAT("/etc/init.d/gnunetd", &buf) == -1) {
+       /* create init file */
+       FILE *f = FOPEN("/etc/init.d/gnunetd", "w");
+       if (! f)
+         return 1;
+       
+       fputs("#! /bin/sh\n"
+             "#\n"
+             "# Automatically created by gnunet-setup\n"
+             "#\n"
+             "\n"
+             
"PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n"
+             "PIDFILE=/var/run/gnunetd/gnunetd.pid\n"
+             "\n"
+             "case \"$1\" in\n"
+             " start)\n"
+             "         echo -n \"Starting GNUnet: \"\n"
+             "         gnunetd\n"
+             "         echo \"gnunetd\"\n"
+             "         ;;\n"
+             " stop)\n"
+             "         echo -n \"Stopping GNUnet: \"\n"
+             "         kill `cat $PIDFILE`\n"
+             "         echo \"gnunetd\"\n"
+             "         ;;\n"
+             " reload)\n"
+             "         echo -n \"Reloading GNUnet: \"\n"
+             "         kill -HUP `cat $PIDFILE`\n"
+             "         echo \"gnunetd\"\n"
+             "         ;;\n"
+             " restart|force-reload)\n"
+             "         echo \"Restarting GNUnet: gnunetd...\"\n"
+             "         $0 stop\n"
+             "         sleep 1\n"
+             "         $0 start\n"
+             "         ;;\n"
+             " *)\n"
+             "         echo \"Usage: /etc/init.d/gnunetd 
{start|stop|reload|restart|force-reload}\" >&2\n"
+             "         exit 1\n"
+             "         ;;\n"
+             "\n"
+             "esac\n"
+             "exit 0\n", f);
+       fclose(f);
+       CHMOD("/etc/init.d/gnunetd", S_IRWXU | S_IRGRP | S_IXGRP |
+             S_IROTH | S_IXOTH);
+      }
+      errno = system("/usr/sbin/update-rc.d gnunetd defaults");
+      if (errno != 0)
+       return 1;
+    }
+    else {
+      if (UNLINK("/etc/init.d/gnunetd") != -1 || errno == ENOENT) {
        if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) {
-               /* Debian */
-               if (doAutoStart) {
-                       struct stat buf;
-                       if (STAT("/etc/init.d/gnunetd", &buf) == -1) {
-                               /* create init file */
-                               FILE *f = FOPEN("/etc/init.d/gnunetd", "w");
-                               if (! f)
-                                       return 1;
-                                       
-                               fputs("#! /bin/sh\n"
-                                                                       "#\n"
-                                                                       "# 
Automatically created by gnunet-setup\n"
-                                                                       "#\n"
-                                                                       "\n"
-                                                                       
"PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\n"
-                                                                       
"PIDFILE=/var/run/gnunetd/gnunetd.pid\n"
-                                                                       "\n"
-                                                                       "case 
\"$1\" in\n"
-                                                                       "       
start)\n"
-                                                                       "       
        echo -n \"Starting GNUnet: \"\n"
-                                                                       "       
        gnunetd\n"
-                                                                       "       
        echo \"gnunetd\"\n"
-                                                                       "       
        ;;\n"
-                                                                       "       
stop)\n"
-                                                                       "       
        echo -n \"Stopping GNUnet: \"\n"
-                                                                       "       
        kill `cat $PIDFILE`\n"
-                                                                       "       
        echo \"gnunetd\"\n"
-                                                                       "       
        ;;\n"
-                                                                       "       
reload)\n"
-                                                                       "       
        echo -n \"Reloading GNUnet: \"\n"
-                                                                       "       
        kill -HUP `cat $PIDFILE`\n"
-                                                                       "       
        echo \"gnunetd\"\n"
-                                                                       "       
        ;;\n"
-                                                                       "       
restart|force-reload)\n"
-                                                                       "       
        echo \"Restarting GNUnet: gnunetd...\"\n"
-                                                                       "       
        $0 stop\n"
-                                                                       "       
        sleep 1\n"
-                                                                       "       
        $0 start\n"
-                                                                       "       
        ;;\n"
-                                                                       "       
*)\n"
-                                                                       "       
        echo \"Usage: /etc/init.d/gnunetd 
{start|stop|reload|restart|force-reload}\" >&2\n"
-                                                                       "       
        exit 1\n"
-                                                                       "       
        ;;\n"
-                                                                       "\n"
-                                                                       "esac\n"
-                                     "exit 0\n", f);
-                                       fclose(f);
-                                       CHMOD("/etc/init.d/gnunetd", S_IRWXU | 
S_IRGRP | S_IXGRP |
-                                               S_IROTH | S_IXOTH);
-                       }
-                       errno = system("/usr/sbin/update-rc.d gnunetd 
defaults");
-                       if (errno != 0)
-                               return 1;
-               }
-               else {
-                       if (UNLINK("/etc/init.d/gnunetd") != -1 || errno == 
ENOENT) {
-                               if (ACCESS("/usr/sbin/update-rc.d", X_OK) == 0) 
{
-                                       errno = system("/usr/sbin/update-rc.d 
gnunetd remove");
-                                       if (errno != 0) {
-                                               errno = EPERM;
-                                               return 1;
-                                       }
-                               }
-                               else {
-                                       errno = EPERM;
-                                       return 1;
-                               }
-                       }
-                       else
-                               return 1;
-               }
+         errno = system("/usr/sbin/update-rc.d gnunetd remove");
+         if (errno != 0) {
+           errno = EPERM;
+           return 1;
+         }
        }
-       else
-               return 1;
-               
+       else {
+         errno = EPERM;
+         return 1;
+       }
+      }
+      else
+       return 1;
+    }
+  }
+  else
+    return 1;
 #endif
-       return 0;
+  return 0;
 }
 
 /**

Modified: GNUnet/src/util/tcpio.c
===================================================================
--- GNUnet/src/util/tcpio.c     2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/util/tcpio.c     2005-07-16 21:50:19 UTC (rev 1568)
@@ -279,8 +279,8 @@
  */
 int writeToSocketNonBlocking(GNUNET_TCP_SOCKET * sock,
                             const CS_HEADER * buffer) {
-  int res;
-  int size;
+  size_t res;
+  size_t size;
 
   if (SYSERR == checkSocket(sock))
     return SYSERR;
@@ -290,7 +290,7 @@
                     sock->outBufPending,
                     sock->outBufLen,
                     &res);
-    if (res < 0) {
+    if (res == (size_t)-1) {
       if ( (errno == EWOULDBLOCK) ||
           (errno == EAGAIN) ) {
        MUTEX_UNLOCK(&sock->writelock);
@@ -301,7 +301,7 @@
       MUTEX_UNLOCK(&sock->writelock);
       return SYSERR;
     }
-    if ((unsigned int)res < sock->outBufLen) {
+    if (res < sock->outBufLen) {
       memcpy(sock->outBufPending,
             &((char*)sock->outBufPending)[res],
             sock->outBufLen - res);
@@ -319,10 +319,10 @@
   size = ntohs(buffer->size);
 
   SEND_NONBLOCKING(sock->socket,
-                  (char*)buffer,
-                   size,
-                   &res);
-  if (res < 0) {
+                  (const char*)buffer,
+                  size,
+                  &res);
+  if (res == (size_t) -1) {
     if ( (errno == EWOULDBLOCK) ||
         (errno == EAGAIN) ) {
       MUTEX_UNLOCK(&sock->writelock);
@@ -336,10 +336,11 @@
     MUTEX_UNLOCK(&sock->writelock);
     return SYSERR;
   }
+  GNUNET_ASSERT(res <= size);
   if (res != size) {
     sock->outBufPending = MALLOC(size - res);
     memcpy(sock->outBufPending,
-          &((char*)buffer)[res],
+          &((const char*)buffer)[res],
           size - res);
     sock->outBufLen = size - res;
     MUTEX_UNLOCK(&sock->writelock);

Modified: GNUnet/src/util/vector.c
===================================================================
--- GNUnet/src/util/vector.c    2005-07-16 21:25:05 UTC (rev 1567)
+++ GNUnet/src/util/vector.c    2005-07-16 21:50:19 UTC (rev 1568)
@@ -70,11 +70,11 @@
 
   for (vs = v->segmentsHead; vs; vs = vs->next) {
     fprintf(stderr,
-           "Segment-size: %3d / %d [%d...%d]: ",
-           vs->size,
-           v->VECTOR_SEGMENT_SIZE,
-           sum,
-           sum + vs->size - 1);
+           "Segment-size: %3llu / %llu [%llu...%llu]: ",
+           (unsigned long long) vs->size,
+           (unsigned long long) v->VECTOR_SEGMENT_SIZE,
+           (unsigned long long) sum,
+           (unsigned long long) sum + vs->size - 1);
     for (n=0;n<vs->size;n++) {
       fprintf(stderr,
              "%p (%d), ",





reply via email to

[Prev in Thread] Current Thread [Next in Thread]