Diff for /qemu/slirp/misc.c between versions 1.1.1.3 and 1.1.1.4

version 1.1.1.3, 2018/04/24 16:49:21 version 1.1.1.4, 2018/04/24 16:54:45
Line 66  redir_x(inaddr, start_port, display, scr Line 66  redir_x(inaddr, start_port, display, scr
 }  }
 #endif  #endif
   
 #ifndef HAVE_INET_ATON  
 int  
 inet_aton(cp, ia)  
         const char *cp;  
         struct in_addr *ia;  
 {  
         u_int32_t addr = inet_addr(cp);  
         if (addr == 0xffffffff)  
                 return 0;  
         ia->s_addr = addr;  
         return 1;  
 }  
 #endif  
   
 /*  /*
  * Get our IP address and put it in our_addr   * Get our IP address and put it in our_addr
  */   */
Line 97  getouraddr() Line 83  getouraddr()
             our_addr.s_addr = loopback_addr.s_addr;              our_addr.s_addr = loopback_addr.s_addr;
 }  }
   
 #if SIZEOF_CHAR_P == 8  
   
 struct quehead_32 {  
         u_int32_t qh_link;  
         u_int32_t qh_rlink;  
 };  
   
 inline void  
 insque_32(a, b)  
         void *a;  
         void *b;  
 {  
         register struct quehead_32 *element = (struct quehead_32 *) a;  
         register struct quehead_32 *head = (struct quehead_32 *) b;  
         element->qh_link = head->qh_link;  
         head->qh_link = (u_int32_t)element;  
         element->qh_rlink = (u_int32_t)head;  
         ((struct quehead_32 *)(element->qh_link))->qh_rlink  
         = (u_int32_t)element;  
 }  
   
 inline void  
 remque_32(a)  
         void *a;  
 {  
         register struct quehead_32 *element = (struct quehead_32 *) a;  
         ((struct quehead_32 *)(element->qh_link))->qh_rlink = element->qh_rlink;  
         ((struct quehead_32 *)(element->qh_rlink))->qh_link = element->qh_link;  
         element->qh_rlink = 0;  
 }  
   
 #endif /* SIZEOF_CHAR_P == 8 */  
   
 struct quehead {  struct quehead {
         struct quehead *qh_link;          struct quehead *qh_link;
         struct quehead *qh_rlink;          struct quehead *qh_rlink;
Line 183  add_exec(ex_ptr, do_pty, exec, addr, por Line 136  add_exec(ex_ptr, do_pty, exec, addr, por
         (*ex_ptr)->ex_fport = port;          (*ex_ptr)->ex_fport = port;
         (*ex_ptr)->ex_addr = addr;          (*ex_ptr)->ex_addr = addr;
         (*ex_ptr)->ex_pty = do_pty;          (*ex_ptr)->ex_pty = do_pty;
         (*ex_ptr)->ex_exec = strdup(exec);          (*ex_ptr)->ex_exec = (do_pty == 3) ? exec : strdup(exec);
         (*ex_ptr)->ex_next = tmp_ptr;          (*ex_ptr)->ex_next = tmp_ptr;
         return 0;          return 0;
 }  }
Line 304  fork_exec(struct socket *so, const char  Line 257  fork_exec(struct socket *so, const char 
 {  {
         int s;          int s;
         struct sockaddr_in addr;          struct sockaddr_in addr;
         int addrlen = sizeof(addr);          socklen_t addrlen = sizeof(addr);
         int opt;          int opt;
         int master = -1;          int master = -1;
         char *argv[256];          const char *argv[256];
 #if 0  #if 0
         char buff[256];          char buff[256];
 #endif  #endif
Line 411  fork_exec(struct socket *so, const char  Line 364  fork_exec(struct socket *so, const char 
                    } while (c);                     } while (c);
   
                 argv[i] = 0;                  argv[i] = 0;
                 execvp(argv[0], argv);                  execvp(argv[0], (char **)argv);
   
                 /* Ooops, failed, let's tell the user why */                  /* Ooops, failed, let's tell the user why */
                   {                    {
                           char buff[256];                            char buff[256];
   
                           sprintf(buff, "Error: execvp of %s failed: %s\n",                            snprintf(buff, sizeof(buff),
                                   argv[0], strerror(errno));                                     "Error: execvp of %s failed: %s\n",
                                      argv[0], strerror(errno));
                           write(2, buff, strlen(buff)+1);                            write(2, buff, strlen(buff)+1);
                   }                    }
                 close(0); close(1); close(2); /* XXX */                  close(0); close(1); close(2); /* XXX */

Removed from v.1.1.1.3  
changed lines
  Added in v.1.1.1.4


unix.superglobalmegacorp.com