[ Merge of http://go/wvgerrit/110165 ] The conditional compilation for flagging the CDM and ODKiTEE logging functions as printf-like was guarded by a check on "__gnuc__" or "__clang__". However, GCC doesn't actually define "__gnuc__", it defines "__GNUC__", all caps. Fixing this causes GCC to find a slew of format-string errors that Clang was accepting. This patch fixes the capitalization and the uncovered errors, most of which fall into one of a few categories: 1) The format string and variable had different signedness. For these, the format strings are updated to match the variables. 2) The variable was an array index that was not of size_t. For these, the variables have been updated to be size_t and the format strings have been updated to use %zu. A few index variables that weren't actually used in format strings are also fixed to be size_t. 3) The code assumed the signedness of the internal representation of an integer literal, enum constant, or enum variable. For these, I either cast the input to a known type so that the format string is valid regardless of internal representation or I switched to a hexadecimal format string. The latter case is more useful on ODKiTEE enums where the literal value is in the code as a 32-bit hexadecimal value anyway. This patch also adds missing integer casts to the enum literals in the ODKiTEE logging header. (These are required for pedantic C99 compatibility when using literal values that do not fit into a 16-bit integer.) Bug: 173460694 Test: jenkins/odkitee_ta Test: build.py x86-64 Change-Id: I244972639a5a6ea0de157eb67e1e0dfa9787ec32
This is the source code for the Widevine Content Decryption Module (CDM) for the Android OS. It provides the libwvdrmengine plugin for DRM. Partners who are integrating a device should be familiar with the documents in the docs directory. This source code is NOT open source, and is not part of AOSP. However, it is released to partners external to Google after official Android releases. For this reason, partners should look for bug fixes and software updates on the widevine branches: +------------------------------+------------------------------+ |Android Version |Branch | +------------------------------+------------------------------+ |Android L |lmp-mr1-widevine-release | +------------------------------+------------------------------+ |Android M MR1 |mnc-mr1-widevine-release | +------------------------------+------------------------------+ |Android N MR2 |nyc-mr2-widevine-release | +------------------------------+------------------------------+ |Android OC |oc-widevine-release | +------------------------------+------------------------------+ |Android OC MR1 |oc-mr1-widevine-release | +------------------------------+------------------------------+ |Android Pi |pi-widevine-release | +------------------------------+------------------------------+