The branch main has been updated by cy:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=83edbc3cb54fba6b37a68270c232df7b785bd222

commit 83edbc3cb54fba6b37a68270c232df7b785bd222
Author:     Cy Schubert <[email protected]>
AuthorDate: 2021-01-15 04:32:16 +0000
Commit:     Cy Schubert <[email protected]>
CommitDate: 2021-01-25 22:46:45 +0000

    ipfilter: Retire pre-standard C support.
    
    All C compilers in 2021 support standard C and architectures that did
    not were retired long ago. Simplify by removing now redundant
    pre-standard C code.
    
    MFC after:      1 week
---
 contrib/ipfilter/bpf-ipf.h               | 12 ---------
 contrib/ipfilter/ipf.h                   |  8 ------
 contrib/ipfilter/iplang/iplang_l.l       |  4 ---
 contrib/ipfilter/ipsend/ipsend.h         |  4 ---
 contrib/ipfilter/ipsend/ipsopt.c         |  4 ---
 contrib/ipfilter/kmem.h                  |  4 ---
 contrib/ipfilter/lib/debug.c             | 23 +++-------------
 contrib/ipfilter/lib/facpri.h            |  4 ---
 contrib/ipfilter/lib/inet_addr.c         |  4 ---
 contrib/ipfilter/lib/kmem.c              |  4 ---
 contrib/ipfilter/lib/kmem.h              |  4 ---
 contrib/ipfilter/lib/verbose.c           | 16 -----------
 contrib/ipfilter/md5.c                   |  4 ---
 contrib/ipfilter/md5.h                   |  8 ------
 contrib/ipfilter/opts.h                  |  4 ---
 sys/contrib/ipfilter/netinet/ip_compat.h | 12 ---------
 sys/contrib/ipfilter/netinet/ip_fil.h    | 46 --------------------------------
 sys/contrib/ipfilter/netinet/ip_lookup.h | 12 ---------
 sys/contrib/ipfilter/netinet/ip_nat.h    |  8 ------
 sys/contrib/ipfilter/netinet/ip_proxy.h  |  4 ---
 sys/contrib/ipfilter/netinet/ip_scan.h   |  6 -----
 sys/contrib/ipfilter/netinet/ip_state.h  |  4 ---
 22 files changed, 4 insertions(+), 195 deletions(-)

diff --git a/contrib/ipfilter/bpf-ipf.h b/contrib/ipfilter/bpf-ipf.h
index dc2b660e2eee..a114949de6e0 100644
--- a/contrib/ipfilter/bpf-ipf.h
+++ b/contrib/ipfilter/bpf-ipf.h
@@ -420,25 +420,13 @@ struct bpf_insn {
  * Systems based on non-BSD kernels don't have ifnet's (or they don't mean
  * anything if it is in <net/if.h>) and won't work like this.
  */
-# if __STDC__
 extern void bpf_tap(struct ifnet *, u_char *, u_int);
 extern void bpf_mtap(struct ifnet *, struct mbuf *);
 extern void bpfattach(struct ifnet *, u_int, u_int);
 extern void bpfilterattach(int);
-# else
-extern void bpf_tap();
-extern void bpf_mtap();
-extern void bpfattach();
-extern void bpfilterattach();
-# endif /* __STDC__ */
 #endif /* BSD && (_KERNEL || KERNEL) */
-#if __STDC__ || defined(__cplusplus)
 extern int bpf_validate(struct bpf_insn *, int);
 extern u_int bpf_filter(struct bpf_insn *, u_char *, u_int, u_int);
-#else
-extern int bpf_validate();
-extern u_int bpf_filter();
-#endif
 
 /*
  * Number of scratch memory words (for BPF_LD|BPF_MEM and BPF_ST).
diff --git a/contrib/ipfilter/ipf.h b/contrib/ipfilter/ipf.h
index 05dcfa4afd64..834ba83f51f0 100644
--- a/contrib/ipfilter/ipf.h
+++ b/contrib/ipfilter/ipf.h
@@ -73,15 +73,7 @@
 #include "opts.h"
 
 #ifndef __P
-# ifdef __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
-#endif
-#ifndef __STDC__
-# undef                const
-# define       const
 #endif
 
 #ifndef        U_32_T
diff --git a/contrib/ipfilter/iplang/iplang_l.l 
b/contrib/ipfilter/iplang/iplang_l.l
index 0002db151c81..e66867e2a455 100644
--- a/contrib/ipfilter/iplang/iplang_l.l
+++ b/contrib/ipfilter/iplang/iplang_l.l
@@ -21,11 +21,7 @@
 #include "ipf.h"
 
 #ifndef        __P
-# ifdef __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 
 extern int opts;
diff --git a/contrib/ipfilter/ipsend/ipsend.h b/contrib/ipfilter/ipsend/ipsend.h
index f409e89c656e..22f85ff07f14 100644
--- a/contrib/ipfilter/ipsend/ipsend.h
+++ b/contrib/ipfilter/ipsend/ipsend.h
@@ -16,11 +16,7 @@
  *
  */
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 
 #include <net/if.h>
diff --git a/contrib/ipfilter/ipsend/ipsopt.c b/contrib/ipfilter/ipsend/ipsopt.c
index 7f9ab5e32d79..ce6616525ca1 100644
--- a/contrib/ipfilter/ipsend/ipsopt.c
+++ b/contrib/ipfilter/ipsend/ipsopt.c
@@ -27,11 +27,7 @@ static const char rcsid[] = "@(#)$Id$";
 
 
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 
 
diff --git a/contrib/ipfilter/kmem.h b/contrib/ipfilter/kmem.h
index ce6ad56f52d9..ea21c052599f 100644
--- a/contrib/ipfilter/kmem.h
+++ b/contrib/ipfilter/kmem.h
@@ -11,11 +11,7 @@
 #define        __KMEM_H__
 
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 extern int     openkmem __P((char *, char *));
 extern int     kmemcpy __P((char *, long, int));
diff --git a/contrib/ipfilter/lib/debug.c b/contrib/ipfilter/lib/debug.c
index 02e5f5b48775..0e3276e21705 100644
--- a/contrib/ipfilter/lib/debug.c
+++ b/contrib/ipfilter/lib/debug.c
@@ -8,11 +8,7 @@
  * $Id$
  */
 
-#if defined(__STDC__)
 # include <stdarg.h>
-#else
-# include <varargs.h>
-#endif
 #include <stdio.h>
 
 #include "ipf.h"
@@ -21,14 +17,8 @@
 int    debuglevel = 0;
 
 
-#ifdef __STDC__
-void   debug(int level, char *fmt, ...)
-#else
-void   debug(level, fmt, va_alist)
-       int level;
-       char *fmt;
-       va_dcl
-#endif
+void
+debug(int level, char *fmt, ...)
 {
        va_list pvar;
 
@@ -40,13 +30,8 @@ void debug(level, fmt, va_alist)
 }
 
 
-#ifdef __STDC__
-void   ipfkdebug(char *fmt, ...)
-#else
-void   ipfkdebug(fmt, va_alist)
-       char *fmt;
-       va_dcl
-#endif
+void
+ipfkdebug(char *fmt, ...)
 {
        va_list pvar;
 
diff --git a/contrib/ipfilter/lib/facpri.h b/contrib/ipfilter/lib/facpri.h
index 54ecabd6ce49..d3634e99d795 100644
--- a/contrib/ipfilter/lib/facpri.h
+++ b/contrib/ipfilter/lib/facpri.h
@@ -13,11 +13,7 @@
 
 #ifndef        __P
 # define P_DEF
-# ifdef        __STDC__
 #  define      __P(x) x
-# else
-#  define      __P(x) ()
-# endif
 #endif
 
 extern char    *fac_toname __P((int));
diff --git a/contrib/ipfilter/lib/inet_addr.c b/contrib/ipfilter/lib/inet_addr.c
index 8667c2b33038..fcaefe0fc23e 100644
--- a/contrib/ipfilter/lib/inet_addr.c
+++ b/contrib/ipfilter/lib/inet_addr.c
@@ -66,11 +66,7 @@ static const char rcsid[] = "@(#)$Id: inet_addr.c,v 1.8.2.3 
2004/12/09 19:41:20
 #include <ctype.h>
 
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 int inet_aton __P((const char *, struct in_addr *));
 
diff --git a/contrib/ipfilter/lib/kmem.c b/contrib/ipfilter/lib/kmem.c
index de97512cf5d3..26252a02f0bf 100644
--- a/contrib/ipfilter/lib/kmem.c
+++ b/contrib/ipfilter/lib/kmem.c
@@ -30,10 +30,6 @@
 
 #include "kmem.h"
 
-#ifndef __STDC__
-# define       const
-#endif
-
 #if !defined(lint)
 static const char sccsid[] = "@(#)kmem.c       1.4 1/12/96 (C) 1992 Darren 
Reed";
 static const char rcsid[] = "@(#)$Id$";
diff --git a/contrib/ipfilter/lib/kmem.h b/contrib/ipfilter/lib/kmem.h
index 1abe31a3b7fb..31cd9725cc62 100644
--- a/contrib/ipfilter/lib/kmem.h
+++ b/contrib/ipfilter/lib/kmem.h
@@ -11,11 +11,7 @@
 #define        __KMEM_H__
 
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 extern int     openkmem __P((char *, char *));
 extern int     kmemcpy __P((char *, long, int));
diff --git a/contrib/ipfilter/lib/verbose.c b/contrib/ipfilter/lib/verbose.c
index 710daab443e3..47988c084516 100644
--- a/contrib/ipfilter/lib/verbose.c
+++ b/contrib/ipfilter/lib/verbose.c
@@ -8,24 +8,14 @@
  * $Id$
  */
 
-#if defined(__STDC__)
 # include <stdarg.h>
-#else
-# include <varargs.h>
-#endif
 #include <stdio.h>
 
 #include "ipf.h"
 #include "opts.h"
 
 
-#if defined(__STDC__)
 void   verbose(int level, char *fmt, ...)
-#else
-void   verbose(level, fmt, va_alist)
-       char    *fmt;
-       va_dcl
-#endif
 {
        va_list pvar;
 
@@ -37,13 +27,7 @@ void verbose(level, fmt, va_alist)
 }
 
 
-#if defined(__STDC__)
 void   ipfkverbose(char *fmt, ...)
-#else
-void   ipfkverbose(fmt, va_alist)
-       char    *fmt;
-       va_dcl
-#endif
 {
        va_list pvar;
 
diff --git a/contrib/ipfilter/md5.c b/contrib/ipfilter/md5.c
index 6ac639935902..d2ed954576d3 100644
--- a/contrib/ipfilter/md5.c
+++ b/contrib/ipfilter/md5.c
@@ -100,11 +100,7 @@ static unsigned char PADDING[64] = {
    (a) += (b); \
   }
 
-#ifdef __STDC__
 #define UL(x)  x##U
-#else
-#define UL(x)  x
-#endif
 
 /* The routine MD5Init initializes the message-digest context
    mdContext. All fields are set to zero.
diff --git a/contrib/ipfilter/md5.h b/contrib/ipfilter/md5.h
index 914df74355a0..cc09b48e8547 100644
--- a/contrib/ipfilter/md5.h
+++ b/contrib/ipfilter/md5.h
@@ -42,15 +42,7 @@
 #if !defined(__MD5_INCLUDE__) && !defined(_SYS_MD5_H)
 
 #ifndef __P
-# ifdef __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
-#endif
-#ifndef __STDC__
-# undef                const
-# define       const
 #endif
 
 /* typedef a 32-bit type */
diff --git a/contrib/ipfilter/opts.h b/contrib/ipfilter/opts.h
index 6e973186756e..17844e89ecfc 100644
--- a/contrib/ipfilter/opts.h
+++ b/contrib/ipfilter/opts.h
@@ -54,11 +54,7 @@
 
 
 #ifndef __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 
 #if defined(sun) && !SOLARIS
diff --git a/sys/contrib/ipfilter/netinet/ip_compat.h 
b/sys/contrib/ipfilter/netinet/ip_compat.h
index 29590298d79f..ac20b527ab34 100644
--- a/sys/contrib/ipfilter/netinet/ip_compat.h
+++ b/sys/contrib/ipfilter/netinet/ip_compat.h
@@ -12,15 +12,7 @@
 #define        __IP_COMPAT_H__
 
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
-#endif
-#ifndef        __STDC__
-# undef                const
-# define       const
 #endif
 
 #if defined(_KERNEL) || defined(KERNEL) || defined(__KERNEL__)
@@ -63,11 +55,7 @@
 #endif
 
 
-# ifdef __STDC__
 #  define IPL_EXTERN(ep) ipl##ep
-# else
-#  define IPL_EXTERN(ep) ipl/**/ep
-# endif
 
 /*
  * This is a workaround for <sys/uio.h> troubles on FreeBSD and OpenBSD.
diff --git a/sys/contrib/ipfilter/netinet/ip_fil.h 
b/sys/contrib/ipfilter/netinet/ip_fil.h
index 7d70f5135da8..0c7448492464 100644
--- a/sys/contrib/ipfilter/netinet/ip_fil.h
+++ b/sys/contrib/ipfilter/netinet/ip_fil.h
@@ -31,14 +31,9 @@
 #endif
 
 #ifndef        __P
-# ifdef        __STDC__
 #  define      __P(x)  x
-# else
-#  define      __P(x)  ()
-# endif
 #endif
 
-#if defined(__STDC__) || defined(__GNUC__)
 # define       SIOCADAFR       _IOW('r', 60, struct ipfobj)
 # define       SIOCRMAFR       _IOW('r', 61, struct ipfobj)
 # define       SIOCSETFF       _IOW('r', 62, u_int)
@@ -78,47 +73,6 @@
 # define       SIOCGTQTAB      _IOWR('r', 96, struct ipfobj)
 # define       SIOCMATCHFLUSH  _IOWR('r', 97, struct ipfobj)
 # define       SIOCIPFINTERROR _IOR('r', 98, int)
-#else
-# define       SIOCADAFR       _IOW(r, 60, struct ipfobj)
-# define       SIOCRMAFR       _IOW(r, 61, struct ipfobj)
-# define       SIOCSETFF       _IOW(r, 62, u_int)
-# define       SIOCGETFF       _IOR(r, 63, u_int)
-# define       SIOCGETFS       _IOWR(r, 64, struct ipfobj)
-# define       SIOCIPFFL       _IOWR(r, 65, int)
-# define       SIOCIPFFB       _IOR(r, 66, int)
-# define       SIOCADIFR       _IOW(r, 67, struct ipfobj)
-# define       SIOCRMIFR       _IOW(r, 68, struct ipfobj)
-# define       SIOCSWAPA       _IOR(r, 69, u_int)
-# define       SIOCINAFR       _IOW(r, 70, struct ipfobj)
-# define       SIOCINIFR       _IOW(r, 71, struct ipfobj)
-# define       SIOCFRENB       _IOW(r, 72, u_int)
-# define       SIOCFRSYN       _IOW(r, 73, u_int)
-# define       SIOCFRZST       _IOWR(r, 74, struct ipfobj)
-# define       SIOCZRLST       _IOWR(r, 75, struct ipfobj)
-# define       SIOCAUTHW       _IOWR(r, 76, struct ipfobj)
-# define       SIOCAUTHR       _IOWR(r, 77, struct ipfobj)
-# define       SIOCSTAT1       _IOWR(r, 78, struct ipfobj)
-# define       SIOCSTLCK       _IOWR(r, 79, u_int)
-# define       SIOCSTPUT       _IOWR(r, 80, struct ipfobj)
-# define       SIOCSTGET       _IOWR(r, 81, struct ipfobj)
-# define       SIOCSTGSZ       _IOWR(r, 82, struct ipfobj)
-# define       SIOCSTAT2       _IOWR(r, 83, struct ipfobj)
-# define       SIOCSETLG       _IOWR(r, 84, int)
-# define       SIOCGETLG       _IOWR(r, 85, int)
-# define       SIOCFUNCL       _IOWR(r, 86, struct ipfunc_resolve)
-# define       SIOCIPFGETNEXT  _IOWR(r, 87, struct ipfobj)
-# define       SIOCIPFGET      _IOWR(r, 88, struct ipfobj)
-# define       SIOCIPFSET      _IOWR(r, 89, struct ipfobj)
-# define       SIOCIPFL6       _IOWR(r, 90, int)
-# define       SIOCIPFITER     _IOWR(r, 91, struct ipfobj)
-# define       SIOCGENITER     _IOWR(r, 92, struct ipfobj)
-# define       SIOCGTABL       _IOWR(r, 93, struct ipfobj)
-# define       SIOCIPFDELTOK   _IOWR(r, 94, int)
-# define       SIOCLOOKUPITER  _IOWR(r, 95, struct ipfobj)
-# define       SIOCGTQTAB      _IOWR(r, 96, struct ipfobj)
-# define       SIOCMATCHFLUSH  _IOWR(r, 97, struct ipfobj)
-# define       SIOCIPFINTERROR _IOR(r, 98, int)
-#endif
 #define        SIOCADDFR       SIOCADAFR
 #define        SIOCDELFR       SIOCRMAFR
 #define        SIOCINSFR       SIOCINAFR
diff --git a/sys/contrib/ipfilter/netinet/ip_lookup.h 
b/sys/contrib/ipfilter/netinet/ip_lookup.h
index 181e1bc5d176..6b1642a91ec0 100644
--- a/sys/contrib/ipfilter/netinet/ip_lookup.h
+++ b/sys/contrib/ipfilter/netinet/ip_lookup.h
@@ -8,7 +8,6 @@
 #ifndef __IP_LOOKUP_H__
 #define __IP_LOOKUP_H__
 
-#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
 # define       SIOCLOOKUPADDTABLE      _IOWR('r', 60, struct iplookupop)
 # define       SIOCLOOKUPDELTABLE      _IOWR('r', 61, struct iplookupop)
 # define       SIOCLOOKUPSTAT          _IOWR('r', 64, struct iplookupop)
@@ -18,17 +17,6 @@
 # define       SIOCLOOKUPADDNODEW      _IOW('r', 67, struct iplookupop)
 # define       SIOCLOOKUPDELNODE       _IOWR('r', 68, struct iplookupop)
 # define       SIOCLOOKUPDELNODEW      _IOW('r', 68, struct iplookupop)
-#else
-# define       SIOCLOOKUPADDTABLE      _IOWR(r, 60, struct iplookupop)
-# define       SIOCLOOKUPDELTABLE      _IOWR(r, 61, struct iplookupop)
-# define       SIOCLOOKUPSTAT          _IOWR(r, 64, struct iplookupop)
-# define       SIOCLOOKUPSTATW         _IOW(r, 64, struct iplookupop)
-# define       SIOCLOOKUPFLUSH         _IOWR(r, 65, struct iplookupflush)
-# define       SIOCLOOKUPADDNODE       _IOWR(r, 67, struct iplookupop)
-# define       SIOCLOOKUPADDNODEW      _IOW(r, 67, struct iplookupop)
-# define       SIOCLOOKUPDELNODE       _IOWR(r, 68, struct iplookupop)
-# define       SIOCLOOKUPDELNODEW      _IOW(r, 68, struct iplookupop)
-#endif
 
 #define        LOOKUP_POOL_MAX (IPL_LOGSIZE)
 #define        LOOKUP_POOL_SZ  (IPL_LOGSIZE + 1)
diff --git a/sys/contrib/ipfilter/netinet/ip_nat.h 
b/sys/contrib/ipfilter/netinet/ip_nat.h
index e65b1681a5f5..e726bc926937 100644
--- a/sys/contrib/ipfilter/netinet/ip_nat.h
+++ b/sys/contrib/ipfilter/netinet/ip_nat.h
@@ -21,19 +21,11 @@
 # endif
 #endif
 
-#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
 #define        SIOCADNAT       _IOW('r', 60, struct ipfobj)
 #define        SIOCRMNAT       _IOW('r', 61, struct ipfobj)
 #define        SIOCGNATS       _IOWR('r', 62, struct ipfobj)
 #define        SIOCGNATL       _IOWR('r', 63, struct ipfobj)
 #define        SIOCPURGENAT    _IOWR('r', 100, struct ipfobj)
-#else
-#define        SIOCADNAT       _IOW(r, 60, struct ipfobj)
-#define        SIOCRMNAT       _IOW(r, 61, struct ipfobj)
-#define        SIOCGNATS       _IOWR(r, 62, struct ipfobj)
-#define        SIOCGNATL       _IOWR(r, 63, struct ipfobj)
-#define        SIOCPURGENAT    _IOWR(r, 100, struct ipfobj)
-#endif
 
 #undef LARGE_NAT       /* define       this if you're setting up a system to 
NAT
                         * LARGE numbers of networks/hosts - i.e. in the
diff --git a/sys/contrib/ipfilter/netinet/ip_proxy.h 
b/sys/contrib/ipfilter/netinet/ip_proxy.h
index c6a77ba4ebee..3f4fc2a8af6f 100644
--- a/sys/contrib/ipfilter/netinet/ip_proxy.h
+++ b/sys/contrib/ipfilter/netinet/ip_proxy.h
@@ -20,11 +20,7 @@
 # endif
 #endif
 
-#if defined(__STDC__) || defined(__GNUC__)
 #define        SIOCPROXY       _IOWR('r', 64, struct ap_control)
-#else
-#define        SIOCPROXY       _IOWR(r, 64, struct ap_control)
-#endif
 
 #ifndef        APR_LABELLEN
 #define        APR_LABELLEN    16
diff --git a/sys/contrib/ipfilter/netinet/ip_scan.h 
b/sys/contrib/ipfilter/netinet/ip_scan.h
index 99032095ba05..f15aeb844ac2 100644
--- a/sys/contrib/ipfilter/netinet/ip_scan.h
+++ b/sys/contrib/ipfilter/netinet/ip_scan.h
@@ -25,15 +25,9 @@ struct ip;
 struct ipstate;
 
 
-#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
 # define       SIOCADSCA       _IOWR('r', 60, struct ipscan *)
 # define       SIOCRMSCA       _IOWR('r', 61, struct ipscan *)
 # define       SIOCGSCST       _IOWR('r', 62, struct ipscan *)
-#else
-# define       SIOCADSCA       _IOWR(r, 60, struct ipscan *)
-# define       SIOCRMSCA       _IOWR(r, 61, struct ipscan *)
-# define       SIOCGSCST       _IOWR(r, 62, struct ipscan *)
-#endif
 
 struct action  {
        int             act_val;        /* what to do */
diff --git a/sys/contrib/ipfilter/netinet/ip_state.h 
b/sys/contrib/ipfilter/netinet/ip_state.h
index e765ac771538..e541cff52183 100644
--- a/sys/contrib/ipfilter/netinet/ip_state.h
+++ b/sys/contrib/ipfilter/netinet/ip_state.h
@@ -12,11 +12,7 @@
 #ifndef        __IP_STATE_H__
 #define        __IP_STATE_H__
 
-#if defined(__STDC__) || defined(__GNUC__) || defined(_AIX51)
 # define       SIOCDELST       _IOW('r', 61, struct ipfobj)
-#else
-# define       SIOCDELST       _IOW(r, 61, struct ipfobj)
-#endif
 
 struct ipscan;
 
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "[email protected]"

Reply via email to