Hi,
   the attached patch completes the c++-ification of basic_fake_auth.

-- 
    Francesco
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [email protected]
# target_branch: ../trunk
# testament_sha1: ef022323a99f6b207fdefb197ce0f55630a26f67
# timestamp: 2015-12-16 16:26:30 +0100
# base_revision_id: [email protected]\
#   83xkpjsj030pjdp3
# 
# Begin patch
=== modified file 'compat/debug.h'
--- compat/debug.h	2015-01-13 07:25:36 +0000
+++ compat/debug.h	2015-12-16 15:25:50 +0000
@@ -31,6 +31,12 @@
                          fprintf(stderr,X); \
                      } else (void)0
 
+#define ndebug(content) ndebug_(__FILE__, __LINE__, content)
+#define ndebug_(file, line, content) if (debug_enabled) { \
+    std::cerr << file << '(' << line << ')' << ": pid=" << getpid() << ':' \
+        << content << std::endl; \
+    } else (void)0
+
 #else /* __GNUC__ */
 
 /* non-GCC compilers can't do the above macro define yet. */

=== modified file 'helpers/basic_auth/fake/fake.cc'
--- helpers/basic_auth/fake/fake.cc	2015-06-14 22:11:46 +0000
+++ helpers/basic_auth/fake/fake.cc	2015-12-16 15:25:50 +0000
@@ -45,23 +45,23 @@
 #include "squid.h"
 #include "helpers/defines.h"
 
-#include <cstring>
+#include <iostream>
+#include <string>
 
 /**
  * options:
  * -d enable debugging.
  * -h interface help.
  */
-char *program_name = NULL;
+std::string program_name;
 
 static void
 usage(void)
 {
-    fprintf(stderr,
-            "Usage: %s [-d] [-v] [-h]\n"
-            " -d  enable debugging.\n"
-            " -h  this message\n\n",
-            program_name);
+    std::cerr <<
+            "Usage: " << program_name << " [-d] [-h]" << std::endl <<
+            " -d  enable debugging." << std::endl <<
+            " -h  this message" << std::endl << std::endl;
 }
 
 static void
@@ -79,7 +79,8 @@
             usage();
             exit(0);
         default:
-            fprintf(stderr, "%s: FATAL: unknown option: -%c. Exiting\n", program_name, opt);
+            std::cerr << program_name << ": FATAL: unknown option: -" <<
+                static_cast<char>(optopt) << ". Exiting" << std::endl;
             usage();
             exit(1);
         }
@@ -89,33 +90,20 @@
 int
 main(int argc, char *argv[])
 {
-    char buf[HELPER_INPUT_BUFFER];
-    int buflen = 0;
-
-    setbuf(stdout, NULL);
-    setbuf(stderr, NULL);
-
     program_name = argv[0];
-
     process_options(argc, argv);
 
-    debug("%s " VERSION " " SQUID_BUILD_INFO " starting up...\n", program_name);
-
-    while (fgets(buf, HELPER_INPUT_BUFFER, stdin) != NULL) {
-        char *p;
-
-        if ((p = strchr(buf, '\n')) != NULL) {
-            *p = '\0';      /* strip \n */
-            buflen = p - buf;   /* length is known already */
-        } else
-            buflen = strlen(buf);   /* keep this so we only scan the buffer for \0 once per loop */
-
-        debug("Got %d bytes '%s' from Squid\n", buflen, buf);
+    ndebug(program_name << ' ' << VERSION << ' ' << SQUID_BUILD_INFO <<
+                    " starting up...");
+    std::string buf;
+    while (getline(std::cin,buf)) { // will return false at EOF
+        ndebug("Got " << buf.length() << " bytes '" << buf << "' from Squid");
 
         /* send 'OK' result back to Squid */
         SEND_OK("");
     }
-    debug("%s " VERSION " " SQUID_BUILD_INFO " shutting down...\n", program_name);
-    exit(0);
+    ndebug(program_name << ' ' << VERSION << ' ' << SQUID_BUILD_INFO <<
+                    " shutting down...");
+    return 0;
 }
 

=== modified file 'helpers/defines.h'
--- helpers/defines.h	2015-01-13 07:25:36 +0000
+++ helpers/defines.h	2015-12-16 15:25:50 +0000
@@ -46,16 +46,16 @@
 #define HELPER_INPUT_BUFFER 8196
 
 /* send OK result to Squid with a string parameter. */
-#define SEND_OK(x)  fprintf(stdout, "OK %s\n",x)
-
-/* send ERR result to Squid with a string parameter. */
-#define SEND_ERR(x) fprintf(stdout, "ERR %s\n",x)
-
-/* send ERR result to Squid with a string parameter. */
-#define SEND_BH(x)  fprintf(stdout, "BH %s\n",x)
+#define SEND_OK(x)  std::cout << "OK " << x << std::endl
+
+/* send ERR result to Squid with a string parameter. */
+#define SEND_ERR(x) std::cout << "ERR " << x << std::endl
+
+/* send ERR result to Squid with a string parameter. */
+#define SEND_BH(x)  std::cout << "BH " << x << std::endl
 
 /* send TT result to Squid with a string parameter. */
-#define SEND_TT(x)  fprintf(stdout, "TT %s\n",x)
+#define SEND_TT(x)  std::cout << "TT " << x << std::endl
 
 #endif /* __SQUID_HELPERS_DEFINES_H */
 

# Begin bundle
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
_______________________________________________
squid-dev mailing list
[email protected]
http://lists.squid-cache.org/listinfo/squid-dev

Reply via email to