]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
MS Visual Studio C++ needs to declare global variables
authorserassio <>
Sun, 18 Jun 2006 16:05:53 +0000 (16:05 +0000)
committerserassio <>
Sun, 18 Jun 2006 16:05:53 +0000 (16:05 +0000)
as extern "C".

src/globals.h
src/mk-globals-c.awk
src/mk-globals-c.pl

index 8a9d5635824085f56e85853f286fe166220530f7..4b0a527ccf8567d5a4c7a276b2299fe28c456e1f 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: globals.h,v 1.135 2006/05/08 23:38:33 robertc Exp $
+ * $Id: globals.h,v 1.136 2006/06/18 10:05:53 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
 #ifndef SQUID_GLOBALS_H
 #define SQUID_GLOBALS_H
 
-extern FILE *debug_log;                /* NULL */
-extern SquidConfig Config;
-extern SquidConfig2 Config2;
-extern char *ConfigFile;       /* NULL */
-extern char *IcpOpcodeStr[];
-extern const char *dns_error_message;  /* NULL */
-extern const char *log_tags[];
-extern char tmp_error_buf[ERROR_BUF_SZ];
-extern char *volatile debug_options;   /* NULL */
-extern char ThisCache[SQUIDHOSTNAMELEN << 1];
-extern char ThisCache2[SQUIDHOSTNAMELEN << 1];
-extern char config_input_line[BUFSIZ];
-extern const char *DefaultConfigFile;  /* DEFAULT_CONFIG_FILE */
-extern const char *cfg_filename;       /* NULL */
-extern const char *const appname;      /* "squid" */
-extern const char *const dash_str;     /* "-" */
-extern const char *const localhost;    /* "127.0.0.1" */
-extern const char *const null_string;  /* "" */
-extern const char *const version_string;       /* VERSION */
-extern const char *const full_appname_string;  /* PACKAGE "/" VERSION */
-extern const char *const appname_string;       /* PACKAGE */
-extern char * visible_appname_string;
-extern const char *const w_space;      /* " \t\n\r" */
-extern const char *fdTypeStr[];
-extern const char *hier_strings[];
-extern const char *memStatusStr[];
-extern const char *pingStatusStr[];
-extern const char *storeStatusStr[];
-extern const char *swapStatusStr[];
-extern fde *fd_table;          /* NULL */
-extern int Biggest_FD;         /* -1 */
-extern int Number_FD;          /* 0 */
-extern int Opening_FD;         /* 0 */
-extern int HttpSockets[MAXHTTPPORTS];
-extern int NDnsServersAlloc;   /* 0 */
-extern int NHttpSockets;       /* 0 */
-extern int RESERVED_FD;
-extern int Squid_MaxFD;                /* SQUID_MAXFD */
-extern int config_lineno;      /* 0 */
-extern int do_mallinfo;                /* 0 */
-extern int opt_reuseaddr;      /* 1 */
-extern int icmp_sock;          /* -1 */
-extern int neighbors_do_private_keys;  /* 1 */
-extern int opt_catch_signals;  /* 1 */
-extern int opt_debug_stderr;   /* -1 */
-extern int opt_dns_tests;      /* 1 */
-extern int opt_foreground_rebuild;     /* 0 */
-extern int opt_forwarded_for;  /* 1 */
-extern int opt_reload_hit_only;        /* 0 */
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+    extern FILE *debug_log;            /* NULL */
+    extern SquidConfig Config;
+    extern SquidConfig2 Config2;
+    extern char *ConfigFile;   /* NULL */
+    extern char *IcpOpcodeStr[];
+    extern const char *dns_error_message;      /* NULL */
+    extern const char *log_tags[];
+    extern char tmp_error_buf[ERROR_BUF_SZ];
+    extern char *volatile debug_options;       /* NULL */
+    extern char ThisCache[SQUIDHOSTNAMELEN << 1];
+    extern char ThisCache2[SQUIDHOSTNAMELEN << 1];
+    extern char config_input_line[BUFSIZ];
+    extern const char *DefaultConfigFile;      /* DEFAULT_CONFIG_FILE */
+    extern const char *cfg_filename;   /* NULL */
+    extern const char *const appname;  /* "squid" */
+    extern const char *const dash_str; /* "-" */
+    extern const char *const localhost;        /* "127.0.0.1" */
+    extern const char *const null_string;      /* "" */
+    extern const char *const version_string;   /* VERSION */
+    extern const char *const full_appname_string;      /* PACKAGE "/" VERSION */
+    extern const char *const appname_string;   /* PACKAGE */
+    extern char * visible_appname_string;
+    extern const char *const w_space;  /* " \t\n\r" */
+    extern const char *fdTypeStr[];
+    extern const char *hier_strings[];
+    extern const char *memStatusStr[];
+    extern const char *pingStatusStr[];
+    extern const char *storeStatusStr[];
+    extern const char *swapStatusStr[];
+    extern fde *fd_table;              /* NULL */
+    extern int Biggest_FD;             /* -1 */
+    extern int Number_FD;              /* 0 */
+    extern int Opening_FD;             /* 0 */
+    extern int HttpSockets[MAXHTTPPORTS];
+    extern int NDnsServersAlloc;       /* 0 */
+    extern int NHttpSockets;   /* 0 */
+    extern int RESERVED_FD;
+    extern int Squid_MaxFD;            /* SQUID_MAXFD */
+    extern int config_lineno;  /* 0 */
+    extern int do_mallinfo;            /* 0 */
+    extern int opt_reuseaddr;  /* 1 */
+    extern int icmp_sock;              /* -1 */
+    extern int neighbors_do_private_keys;      /* 1 */
+    extern int opt_catch_signals;      /* 1 */
+    extern int opt_debug_stderr;       /* -1 */
+    extern int opt_dns_tests;  /* 1 */
+    extern int opt_foreground_rebuild; /* 0 */
+    extern int opt_forwarded_for;      /* 1 */
+    extern int opt_reload_hit_only;    /* 0 */
 #if HAVE_SYSLOG
-extern int opt_syslog_enable;  /* 0 */
+
+    extern int opt_syslog_enable;      /* 0 */
 #endif
-extern int opt_udp_hit_obj;    /* 0 */
-extern int opt_create_swap_dirs;       /* 0 */
-extern int opt_store_doublecheck;      /* 0 */
-extern int syslog_enable;      /* 0 */
-extern int theInIcpConnection; /* -1 */
-extern int theOutIcpConnection;        /* -1 */
-extern int DnsSocket;          /* -1 */
+
+    extern int opt_udp_hit_obj;        /* 0 */
+    extern int opt_create_swap_dirs;   /* 0 */
+    extern int opt_store_doublecheck;  /* 0 */
+    extern int syslog_enable;  /* 0 */
+    extern int theInIcpConnection;     /* -1 */
+    extern int theOutIcpConnection;    /* -1 */
+    extern int DnsSocket;              /* -1 */
 #ifdef SQUID_SNMP
-extern int theInSnmpConnection;        /* -1 */
-extern int theOutSnmpConnection;       /* -1 */
-extern char *snmp_agentinfo;
+
+    extern int theInSnmpConnection;    /* -1 */
+    extern int theOutSnmpConnection;   /* -1 */
+    extern char *snmp_agentinfo;
 #endif
-extern int n_disk_objects;     /* 0 */
-extern iostats IOStats;
-
-extern struct _acl_deny_info_list *DenyInfoList;       /* NULL */
-
-extern struct IN_ADDR any_addr;
-
-extern struct IN_ADDR local_addr;
-
-extern struct IN_ADDR no_addr;
-
-extern struct IN_ADDR theOutICPAddr;
-
-extern struct IN_ADDR theOutSNMPAddr;
-
-extern struct timeval current_time;
-
-extern struct timeval squid_start;
-extern int shutting_down;      /* 0 */
-extern int reconfiguring;      /* 0 */
-extern int store_dirs_rebuilding;      /* 1 */
-extern unsigned long store_swap_size;  /* 0 */
-extern time_t hit_only_mode_until;     /* 0 */
-extern StatCounters statCounter;
-extern char *err_type_str[];
-extern char *icp_opcode_str[];
-extern char *swap_log_op_str[];
-extern char *lookup_t_str[];
-extern double request_failure_ratio;   /* 0.0 */
-extern double current_dtime;
-extern int store_hash_buckets; /* 0 */
-extern hash_table *store_table;        /* NULL */
-extern dlink_list ClientActiveRequests;
-extern int hot_obj_count;      /* 0 */
-extern const int CacheDigestHashFuncCount;     /* 4 */
-extern CacheDigest *store_digest;      /* NULL */
-extern const char *StoreDigestFileName;                /* "store_digest" */
-extern const char *StoreDigestMimeStr; /* "application/cache-digest" */
+
+    extern int n_disk_objects; /* 0 */
+    extern iostats IOStats;
+
+    extern struct _acl_deny_info_list *DenyInfoList;   /* NULL */
+
+    extern struct IN_ADDR any_addr;
+
+    extern struct IN_ADDR local_addr;
+
+    extern struct IN_ADDR no_addr;
+
+    extern struct IN_ADDR theOutICPAddr;
+
+    extern struct IN_ADDR theOutSNMPAddr;
+
+    extern struct timeval current_time;
+
+    extern struct timeval squid_start;
+    extern int shutting_down;  /* 0 */
+    extern int reconfiguring;  /* 0 */
+    extern int store_dirs_rebuilding;  /* 1 */
+    extern unsigned long store_swap_size;      /* 0 */
+    extern time_t hit_only_mode_until; /* 0 */
+    extern StatCounters statCounter;
+    extern char *err_type_str[];
+    extern char *icp_opcode_str[];
+    extern char *swap_log_op_str[];
+    extern char *lookup_t_str[];
+    extern double request_failure_ratio;       /* 0.0 */
+    extern double current_dtime;
+    extern int store_hash_buckets;     /* 0 */
+    extern hash_table *store_table;    /* NULL */
+    extern dlink_list ClientActiveRequests;
+    extern int hot_obj_count;  /* 0 */
+    extern const int CacheDigestHashFuncCount; /* 4 */
+    extern CacheDigest *store_digest;  /* NULL */
+    extern const char *StoreDigestFileName;            /* "store_digest" */
+    extern const char *StoreDigestMimeStr;     /* "application/cache-digest" */
 #if USE_CACHE_DIGESTS
-extern const Version CacheDigestVer;   /* { 5, 3 } */
+
+    extern const Version CacheDigestVer;       /* { 5, 3 } */
 #endif
-extern const char *MultipartMsgBoundaryStr;    /* "Unique-Squid-Separator" */
+
+    extern const char *MultipartMsgBoundaryStr;        /* "Unique-Squid-Separator" */
 #if HTTP_VIOLATIONS
-extern int refresh_nocache_hack;       /* 0 */
+
+    extern int refresh_nocache_hack;   /* 0 */
 #endif
-extern int store_open_disk_fd; /* 0 */
-extern const char *SwapDirType[];
-extern int store_swap_low;     /* 0 */
-extern int store_swap_high;    /* 0 */
-extern size_t store_pages_max; /* 0 */
-extern ssize_t store_maxobjsize;       /* -1 */
-extern RemovalPolicy *mem_policy;
-extern hash_table *proxy_auth_username_cache;  /* NULL */
-extern int incoming_sockets_accepted;
+
+    extern int store_open_disk_fd;     /* 0 */
+    extern const char *SwapDirType[];
+    extern int store_swap_low; /* 0 */
+    extern int store_swap_high;        /* 0 */
+    extern size_t store_pages_max;     /* 0 */
+    extern ssize_t store_maxobjsize;   /* -1 */
+    extern RemovalPolicy *mem_policy;
+    extern hash_table *proxy_auth_username_cache;      /* NULL */
+    extern int incoming_sockets_accepted;
 #ifdef _SQUID_MSWIN_
-extern unsigned int WIN32_Socks_initialized;   /* 0 */
+
+    extern unsigned int WIN32_Socks_initialized;       /* 0 */
 #endif
 #ifdef _SQUID_WIN32_
-extern unsigned int WIN32_OS_version;  /* 0 */
-extern char *WIN32_OS_string;           /* NULL */
-extern char *WIN32_Service_name;        /* NULL */
-extern char *WIN32_Command_Line;        /* NULL */
-extern char *WIN32_Service_Command_Line; /* NULL */
-extern unsigned int WIN32_run_mode;     /* _WIN_SQUID_RUN_MODE_INTERACTIVE */
+
+    extern unsigned int WIN32_OS_version;      /* 0 */
+    extern char *WIN32_OS_string;           /* NULL */
+    extern char *WIN32_Service_name;        /* NULL */
+    extern char *WIN32_Command_Line;        /* NULL */
+    extern char *WIN32_Service_Command_Line; /* NULL */
+    extern unsigned int WIN32_run_mode;     /* _WIN_SQUID_RUN_MODE_INTERACTIVE */
 #if defined(_SQUID_MSWIN_) && defined(_DEBUG)
-extern int do_debug_trap;                      /* 0 */
+
+    extern int do_debug_trap;                  /* 0 */
 #endif
 #endif
 #if HAVE_SBRK
-extern void *sbrk_start;       /* 0 */
+
+    extern void *sbrk_start;   /* 0 */
 #endif
 
-extern int ssl_ex_index_server;        /* -1 */
-extern int ssl_ctx_ex_index_dont_verify_domain; /* -1 */
+    extern int ssl_ex_index_server;    /* -1 */
+    extern int ssl_ctx_ex_index_dont_verify_domain; /* -1 */
+
+    extern const char *external_acl_message;      /* NULL */
+    extern int opt_send_signal;        /* -1 */
+    extern int opt_no_daemon; /* 0 */
+
+#ifdef __cplusplus
+}
+
+#endif
 
-extern const char *external_acl_message;      /* NULL */
-extern int opt_send_signal;    /* -1 */
-extern int opt_no_daemon; /* 0 */
 #endif /* SQUID_GLOBALS_H */
index b933f2179a54c94015ad3286c870146578f8f2e1..cb1b204a0ef6646f2602a111d9894b977960d266 100644 (file)
@@ -2,7 +2,7 @@
 # drop-in replacement for mk-globals-c.pl.
 # modified to work with Solaris awk (junk).
 # creates "globals.c" (on stdout) from "globals.h".
-# invoke similarly: perl -f mk-globals-c.pl  globals.h
+# invoke similarly:  perl mk-globals-c.pl globals.h
 #              -->  awk -f mk-globals-c.awk globals.h
 #
 # 2006 by Christopher Kerr.
@@ -16,13 +16,18 @@ Copyright != 1                      {                print; next }
 
 # arrays defined elsewhere
 /\[\];/                                {                       next }
+/^extern \"C\"/                        {                print; next }
 
-/^extern / {                                # process "^extern " input lines.
+#
+# Check exactly for lines beginning with "    extern", generated
+# from astyle (grrrrr ...)
+#
+/^    extern / {                            # process "^extern " input lines.
                                             #           0 1      2    #######
     # extern int variable; /* val */   -->   int variable; /* val */   #######
     ##########################################################################
-    len = length($0) -                               # sub(/extern /, "")
-    str = substr($0, 8, len)                           # strip "^extern ".
+    len = length($0) - 11                              # sub(/extern /, "")
+    str = substr($0, 12, len)                          # strip "^extern ".
 
     pos0 = index(str, ";")                             # position of ";".
     pos1 = index(str, "/*")                            # position of "/*".
index 124f5ab61a9c8e436081553615c127c9ff7ef68e..4ebb70c254c766ccbdc8321d1c832246f1455e50 100755 (executable)
@@ -10,9 +10,25 @@ while (<>) {
                print;
                next;
        }
+       if (/extern \"C\"/) {
+               print;
+               next;
+       }
+       if (/^}/) {
+               print;
+               next;
+       }
+       if (/^{/) {
+               print;
+               next;
+       }
        next unless (/./);
        next if (/\[\];$/);
-       die unless (/^extern\s+([^;]+);(.*)$/);
+#
+# Check exactly for lines beginning with "    extern", generated
+# from astyle (grrrrr ...)
+#
+       die unless (/^    extern\s+([^;]+);(.*)$/);
        $var = $1;
        $comments = $2;
        if ($comments =~ m+/\*\s*(.*)\s*\*/+) {