You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2019/12/24 14:15:20 UTC

[incubator-nuttx] branch dev updated (9b4a625 -> 36678e3)

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a change to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git.


    from 9b4a625  Merge pull request #3 from huahang/so_error
     new 50a58d1  net/: Trivial changes to PR from review.  Biggest difference:  type of s_error changed to int16_t to save a byte or two.
     add ce63457  This change implements the SO_ERROR socket option that is used to obtain the last error reported by the network.
     new 36678e3  Merge branch 'master' into dev

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 include/nuttx/net/net.h |  4 ++--
 net/socket/getsockopt.c |  5 +++--
 net/socket/recvfrom.c   |  4 ++--
 net/socket/socket.h     | 13 +++++++++++--
 4 files changed, 18 insertions(+), 8 deletions(-)


[incubator-nuttx] 02/02: Merge branch 'master' into dev

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 36678e30587365a0f524738e4f5842a2301f3a79
Merge: 50a58d1 ce63457
Author: Gregory Nutt <gn...@nuttx.org>
AuthorDate: Tue Dec 24 08:14:53 2019 -0600

    Merge branch 'master' into dev



[incubator-nuttx] 01/02: net/: Trivial changes to PR from review. Biggest difference: type of s_error changed to int16_t to save a byte or two.

Posted by gn...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git

commit 50a58d135037aea615fd1b6ff6453ad562e1202b
Author: Gregory Nutt <gn...@nuttx.org>
AuthorDate: Tue Dec 24 08:02:41 2019 -0600

    net/: Trivial changes to PR from review.  Biggest difference:  type of s_error changed to int16_t to save a byte or two.
---
 include/nuttx/net/net.h |  4 ++--
 net/socket/getsockopt.c |  5 +++--
 net/socket/recvfrom.c   |  4 ++--
 net/socket/socket.h     | 13 +++++++++++--
 4 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/include/nuttx/net/net.h b/include/nuttx/net/net.h
index a2b8931..5ad141b 100644
--- a/include/nuttx/net/net.h
+++ b/include/nuttx/net/net.h
@@ -1,7 +1,7 @@
 /****************************************************************************
  * include/nuttx/net/net.h
  *
- *   Copyright (C) 2007, 2009-2014, 2016-2018 Gregory Nutt. All rights
+ *   Copyright (C) 2007, 2009-2014, 2016-2019 Gregory Nutt. All rights
  *     reserved.
  *   Author: Gregory Nutt <gn...@nuttx.org>
  *
@@ -234,10 +234,10 @@ struct socket
   /* Socket options */
 
 #ifdef CONFIG_NET_SOCKOPTS
+  int16_t       s_error;     /* Last error that occurred on this socket */
   sockopt_t     s_options;   /* Selected socket options */
   socktimeo_t   s_rcvtimeo;  /* Receive timeout value (in deciseconds) */
   socktimeo_t   s_sndtimeo;  /* Send timeout value (in deciseconds) */
-  int           s_error;     /* Last error that occurred on this socket */
 #ifdef CONFIG_NET_SOLINGER
   socktimeo_t   s_linger;    /* Linger timeout value (in deciseconds) */
 #endif
diff --git a/net/socket/getsockopt.c b/net/socket/getsockopt.c
index cb54abb..487642c 100644
--- a/net/socket/getsockopt.c
+++ b/net/socket/getsockopt.c
@@ -1,7 +1,7 @@
 /****************************************************************************
  * net/socket/getsockopt.c
  *
- *   Copyright (C) 2007-2009, 2012, 2014, 2017-2018 Gregory Nutt. All rights
+ *   Copyright (C) 2007-2009, 2012, 2014, 2017-2019 Gregory Nutt. All rights
  *     reserved.
  *   Author: Gregory Nutt <gn...@nuttx.org>
  *
@@ -267,7 +267,8 @@ static int psock_socketlevel_option(FAR struct socket *psock, int option,
             {
               return -EINVAL;
             }
-          *(int *)value = psock->s_error;
+
+          *(FAR int *)value = (int)psock->s_error;
           psock->s_error = 0;
         }
         break;
diff --git a/net/socket/recvfrom.c b/net/socket/recvfrom.c
index c73bbdd..79944c2 100644
--- a/net/socket/recvfrom.c
+++ b/net/socket/recvfrom.c
@@ -1,7 +1,7 @@
 /****************************************************************************
  * net/socket/recvfrom.c
  *
- *   Copyright (C) 2007-2009, 2011-2017 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2007-2009, 2011-2017, 2019 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <gn...@nuttx.org>
  *
  * Redistribution and use in source and binary forms, with or without
@@ -93,7 +93,7 @@ ssize_t psock_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len,
   /* Verify that non-NULL pointers were passed */
 
 #ifdef CONFIG_DEBUG_FEATURES
-  if (!buf)
+  if (buf == NULL)
     {
       return -EINVAL;
     }
diff --git a/net/socket/socket.h b/net/socket/socket.h
index f1a9082..f826337 100644
--- a/net/socket/socket.h
+++ b/net/socket/socket.h
@@ -134,9 +134,18 @@
 /* Macro to set socket errors */
 
 #ifdef CONFIG_NET_SOCKOPTS
-#define _SO_SETERRNO(s,e) if (s != NULL) { s->s_error = e; } set_errno(e)
+#  define _SO_SETERRNO(s,e) \
+    do \
+      { \
+        if (s != NULL) \
+          { \
+            s->s_error = (int16_t)e; \
+          } \
+        set_errno(e); \
+      } \
+    while (0)
 #else
-#define _SO_SETERRNO(s,e) set_errno(e)
+#  define _SO_SETERRNO(s,e) set_errno(e)
 #endif /* CONFIG_NET_SOCKOPTS */
 
 /****************************************************************************