liblog: cleanup opaque type usage

There's a lot of unnecessary boilerplate around these opaque types,
and this change simplifies it.

Test: liblog-unit-tests
Change-Id: I0c4e133037fd5f04157ac22175181a6a496e18c4
diff --git a/liblog/logger_read.cpp b/liblog/logger_read.cpp
index 4b4012a..5e10ada 100644
--- a/liblog/logger_read.cpp
+++ b/liblog/logger_read.cpp
@@ -35,25 +35,23 @@
 /* android_logger_alloc unimplemented, no use case */
 /* android_logger_free not exported */
 static void android_logger_free(struct logger* logger) {
-  struct android_log_logger* logger_internal = (struct android_log_logger*)logger;
-
-  if (!logger_internal) {
+  if (!logger) {
     return;
   }
 
-  list_remove(&logger_internal->node);
+  list_remove(&logger->node);
 
-  free(logger_internal);
+  free(logger);
 }
 
 /* android_logger_alloc unimplemented, no use case */
 
 /* method for getting the associated sublog id */
 log_id_t android_logger_get_id(struct logger* logger) {
-  return ((struct android_log_logger*)logger)->logId;
+  return ((struct logger*)logger)->logId;
 }
 
-static int init_transport_context(struct android_log_logger_list* logger_list) {
+static int init_transport_context(struct logger_list* logger_list) {
   if (!logger_list) {
     return -EINVAL;
   }
@@ -73,7 +71,7 @@
   struct android_log_transport_read* transport;
   transport = (logger_list->mode & ANDROID_LOG_PSTORE) ? &pmsgLoggerRead : &logdLoggerRead;
 
-  struct android_log_logger* logger;
+  struct logger* logger;
   unsigned logMask = 0;
 
   logger_for_each(logger, logger_list) {
@@ -96,28 +94,26 @@
   return 0;
 }
 
-#define LOGGER_FUNCTION(logger, def, func, args...)                                               \
-  ssize_t ret = -EINVAL;                                                                          \
-  android_log_logger* logger_internal = reinterpret_cast<android_log_logger*>(logger);            \
-                                                                                                  \
-  if (!logger_internal) {                                                                         \
-    return ret;                                                                                   \
-  }                                                                                               \
-  ret = init_transport_context(logger_internal->parent);                                          \
-  if (ret < 0) {                                                                                  \
-    return ret;                                                                                   \
-  }                                                                                               \
-                                                                                                  \
-  ret = (def);                                                                                    \
-  android_log_transport_context* transport_context = &logger_internal->parent->transport_context; \
-  if (transport_context->logMask & (1 << logger_internal->logId) &&                               \
-      transport_context->transport && transport_context->transport->func) {                       \
-    ssize_t retval =                                                                              \
-        (transport_context->transport->func)(logger_internal, transport_context, ##args);         \
-    if (ret >= 0 || ret == (def)) {                                                               \
-      ret = retval;                                                                               \
-    }                                                                                             \
-  }                                                                                               \
+#define LOGGER_FUNCTION(logger, def, func, args...)                                           \
+  ssize_t ret = -EINVAL;                                                                      \
+                                                                                              \
+  if (!logger) {                                                                              \
+    return ret;                                                                               \
+  }                                                                                           \
+  ret = init_transport_context(logger->parent);                                               \
+  if (ret < 0) {                                                                              \
+    return ret;                                                                               \
+  }                                                                                           \
+                                                                                              \
+  ret = (def);                                                                                \
+  android_log_transport_context* transport_context = &logger->parent->transport_context;      \
+  if (transport_context->logMask & (1 << logger->logId) && transport_context->transport &&    \
+      transport_context->transport->func) {                                                   \
+    ssize_t retval = (transport_context->transport->func)(logger, transport_context, ##args); \
+    if (ret >= 0 || ret == (def)) {                                                           \
+      ret = retval;                                                                           \
+    }                                                                                         \
+  }                                                                                           \
   return ret
 
 int android_logger_clear(struct logger* logger) {
@@ -148,24 +144,20 @@
   LOGGER_FUNCTION(logger, 4, version);
 }
 
-#define LOGGER_LIST_FUNCTION(logger_list, def, func, args...)                                  \
-  android_log_logger_list* logger_list_internal =                                              \
-      reinterpret_cast<android_log_logger_list*>(logger_list);                                 \
-                                                                                               \
-  ssize_t ret = init_transport_context(logger_list_internal);                                  \
-  if (ret < 0) {                                                                               \
-    return ret;                                                                                \
-  }                                                                                            \
-                                                                                               \
-  ret = (def);                                                                                 \
-  android_log_transport_context* transport_context = &logger_list_internal->transport_context; \
-  if (transport_context->transport && transport_context->transport->func) {                    \
-    ssize_t retval =                                                                           \
-        (transport_context->transport->func)(logger_list_internal, transport_context, ##args); \
-    if (ret >= 0 || ret == (def)) {                                                            \
-      ret = retval;                                                                            \
-    }                                                                                          \
-  }                                                                                            \
+#define LOGGER_LIST_FUNCTION(logger_list, def, func, args...)                                      \
+  ssize_t ret = init_transport_context(logger_list);                                               \
+  if (ret < 0) {                                                                                   \
+    return ret;                                                                                    \
+  }                                                                                                \
+                                                                                                   \
+  ret = (def);                                                                                     \
+  android_log_transport_context* transport_context = &logger_list->transport_context;              \
+  if (transport_context->transport && transport_context->transport->func) {                        \
+    ssize_t retval = (transport_context->transport->func)(logger_list, transport_context, ##args); \
+    if (ret >= 0 || ret == (def)) {                                                                \
+      ret = retval;                                                                                \
+    }                                                                                              \
+  }                                                                                                \
   return ret
 
 /*
@@ -184,9 +176,9 @@
 }
 
 struct logger_list* android_logger_list_alloc(int mode, unsigned int tail, pid_t pid) {
-  struct android_log_logger_list* logger_list;
+  struct logger_list* logger_list;
 
-  logger_list = static_cast<android_log_logger_list*>(calloc(1, sizeof(*logger_list)));
+  logger_list = static_cast<struct logger_list*>(calloc(1, sizeof(*logger_list)));
   if (!logger_list) {
     return NULL;
   }
@@ -196,13 +188,13 @@
   logger_list->tail = tail;
   logger_list->pid = pid;
 
-  return (struct logger_list*)logger_list;
+  return logger_list;
 }
 
 struct logger_list* android_logger_list_alloc_time(int mode, log_time start, pid_t pid) {
-  struct android_log_logger_list* logger_list;
+  struct logger_list* logger_list;
 
-  logger_list = static_cast<android_log_logger_list*>(calloc(1, sizeof(*logger_list)));
+  logger_list = static_cast<struct logger_list*>(calloc(1, sizeof(*logger_list)));
   if (!logger_list) {
     return NULL;
   }
@@ -212,7 +204,7 @@
   logger_list->start = start;
   logger_list->pid = pid;
 
-  return (struct logger_list*)logger_list;
+  return logger_list;
 }
 
 /* android_logger_list_register unimplemented, no use case */
@@ -220,33 +212,31 @@
 
 /* Open the named log and add it to the logger list */
 struct logger* android_logger_open(struct logger_list* logger_list, log_id_t logId) {
-  struct android_log_logger_list* logger_list_internal =
-      (struct android_log_logger_list*)logger_list;
-  struct android_log_logger* logger;
+  struct logger* logger;
 
-  if (!logger_list_internal || (logId >= LOG_ID_MAX)) {
+  if (!logger_list || (logId >= LOG_ID_MAX)) {
     return nullptr;
   }
 
-  logger_for_each(logger, logger_list_internal) {
+  logger_for_each(logger, logger_list) {
     if (logger->logId == logId) {
       return reinterpret_cast<struct logger*>(logger);
     }
   }
 
-  logger = static_cast<android_log_logger*>(calloc(1, sizeof(*logger)));
+  logger = static_cast<struct logger*>(calloc(1, sizeof(*logger)));
   if (!logger) {
     return nullptr;
   }
 
   logger->logId = logId;
-  list_add_tail(&logger_list_internal->logger, &logger->node);
-  logger->parent = logger_list_internal;
+  list_add_tail(&logger_list->logger, &logger->node);
+  logger->parent = logger_list;
 
   // Reset known transport to re-evaluate, since we added a new logger.
-  logger_list_internal->transport_initialized = false;
+  logger_list->transport_initialized = false;
 
-  return (struct logger*)logger;
+  return logger;
 }
 
 /* Open the single named log and make it part of a new logger list */
@@ -267,7 +257,7 @@
 }
 
 /* Validate log_msg packet, read function has already been null checked */
-static int android_transport_read(struct android_log_logger_list* logger_list,
+static int android_transport_read(struct logger_list* logger_list,
                                   struct android_log_transport_context* transp,
                                   struct log_msg* log_msg) {
   int ret = (*transp->transport->read)(logger_list, transp, log_msg);
@@ -297,38 +287,32 @@
 
 /* Read from the selected logs */
 int android_logger_list_read(struct logger_list* logger_list, struct log_msg* log_msg) {
-  struct android_log_logger_list* logger_list_internal =
-      (struct android_log_logger_list*)logger_list;
-
-  int ret = init_transport_context(logger_list_internal);
+  int ret = init_transport_context(logger_list);
   if (ret < 0) {
     return ret;
   }
 
-  android_log_transport_context* transport_context = &logger_list_internal->transport_context;
-  return android_transport_read(logger_list_internal, transport_context, log_msg);
+  android_log_transport_context* transport_context = &logger_list->transport_context;
+  return android_transport_read(logger_list, transport_context, log_msg);
 }
 
 /* Close all the logs */
 void android_logger_list_free(struct logger_list* logger_list) {
-  struct android_log_logger_list* logger_list_internal =
-      (struct android_log_logger_list*)logger_list;
-
-  if (logger_list_internal == NULL) {
+  if (logger_list == NULL) {
     return;
   }
 
-  android_log_transport_context* transport_context = &logger_list_internal->transport_context;
+  android_log_transport_context* transport_context = &logger_list->transport_context;
 
   if (transport_context->transport && transport_context->transport->close) {
-    (*transport_context->transport->close)(logger_list_internal, transport_context);
+    (*transport_context->transport->close)(logger_list, transport_context);
   }
 
-  while (!list_empty(&logger_list_internal->logger)) {
-    struct listnode* node = list_head(&logger_list_internal->logger);
-    struct android_log_logger* logger = node_to_item(node, struct android_log_logger, node);
+  while (!list_empty(&logger_list->logger)) {
+    struct listnode* node = list_head(&logger_list->logger);
+    struct logger* logger = node_to_item(node, struct logger, node);
     android_logger_free((struct logger*)logger);
   }
 
-  free(logger_list_internal);
+  free(logger_list);
 }