OSDN Git Service

Bind the logging to logit() since pppd uses special expressions such as "%I"
authorChia-chi Yeh <chiachi@android.com>
Thu, 7 May 2009 23:24:40 +0000 (07:24 +0800)
committerChia-chi Yeh <chiachi@android.com>
Thu, 7 May 2009 23:24:40 +0000 (07:24 +0800)
which __android_log_vprint() does not understand.

pppd/utils.c

index 6f668b8..781044f 100644 (file)
@@ -649,6 +649,26 @@ print_string(p, len, printer, arg)
     printer(arg, "\"");
 }
 
+
+#ifdef ANDROID_CHANGES
+
+#if LOG_PRIMASK != 7
+#error Syslog.h has been changed! Please fix this table!
+#endif
+
+static int syslog_to_android[] = {
+    [LOG_EMERG] = ANDROID_LOG_FATAL,
+    [LOG_ALERT] = ANDROID_LOG_FATAL,
+    [LOG_CRIT] = ANDROID_LOG_FATAL,
+    [LOG_ERR] = ANDROID_LOG_ERROR,
+    [LOG_WARNING] = ANDROID_LOG_WARN,
+    [LOG_NOTICE] = ANDROID_LOG_INFO,
+    [LOG_INFO] = ANDROID_LOG_INFO,
+    [LOG_DEBUG] = ANDROID_LOG_DEBUG,
+};
+
+#endif
+
 /*
  * logit - does the hard work for fatal et al.
  */
@@ -662,7 +682,12 @@ logit(level, fmt, args)
     char buf[1024];
 
     n = vslprintf(buf, sizeof(buf), fmt, args);
+
+#ifndef ANDROID_CHANGES
     log_write(level, buf);
+#else
+    __android_log_write(syslog_to_android[level], LOG_TAG, buf);
+#endif
 }
 
 static void
@@ -701,11 +726,7 @@ fatal __V((char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-#ifdef ANDROID_CHANGES
-    __android_log_vprint(ANDROID_LOG_ERROR, LOG_TAG, fmt, pvar);
-#else
     logit(LOG_ERR, fmt, pvar);
-#endif
     va_end(pvar);
 
     die(1);                    /* as promised */
@@ -727,12 +748,7 @@ error __V((char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-#ifdef ANDROID_CHANGES
-    __android_log_vprint(ANDROID_LOG_ERROR, LOG_TAG, fmt, pvar);
-#else
     logit(LOG_ERR, fmt, pvar);
-#endif
-
     va_end(pvar);
     ++error_count;
 }
@@ -753,12 +769,7 @@ warn __V((char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-#ifdef ANDROID_CHANGES
-    __android_log_vprint(ANDROID_LOG_WARN, LOG_TAG, fmt, pvar);
-#else
     logit(LOG_WARNING, fmt, pvar);
-#endif
-
     va_end(pvar);
 }
 
@@ -778,11 +789,7 @@ notice __V((char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-#ifdef ANDROID_CHANGES
-    __android_log_vprint(ANDROID_LOG_INFO, LOG_TAG, fmt, pvar);
-#else
     logit(LOG_NOTICE, fmt, pvar);
-#endif
     va_end(pvar);
 }
 
@@ -802,12 +809,7 @@ info __V((char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-#ifdef ANDROID_CHANGES
-    __android_log_vprint(ANDROID_LOG_INFO, LOG_TAG, fmt, pvar);
-#else
     logit(LOG_INFO, fmt, pvar);
-#endif
-
     va_end(pvar);
 }
 
@@ -827,11 +829,7 @@ dbglog __V((char *fmt, ...))
     fmt = va_arg(pvar, char *);
 #endif
 
-#ifdef ANDROID_CHANGES
-    __android_log_vprint(ANDROID_LOG_DEBUG, LOG_TAG, fmt, pvar);
-#else
     logit(LOG_DEBUG, fmt, pvar);
-#endif
     va_end(pvar);
 }