Skip to content
  • Nathan Froyd's avatar
    Bug 1662251 - stop assigning from NS_Convert* values, mostly; r=sg · cfb8fb31
    Nathan Froyd authored
    This patch was generated by running:
    
    ```
    perl -p -i \
         -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF8toUTF16\((.*)\);/\1CopyUTF8toUTF16(\3, \2);/;' \
         -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF16toUTF8\((.*)\);/\1CopyUTF16toUTF8(\3, \2);/;' \
         $FILE
    ```
    
    against every .cpp and .h in mozilla-central, and then fixing up the
    inevitable errors that happen as a result of matching C++ expressions with
    regexes.  The errors fell into three categories:
    
    1. Calling the convert functions with `std::string::c_str()`; these were
       changed to simply pass the string instead, relying on implicit conversion
       to `mozilla::Span`.
    2. Calling the convert functions with raw pointers, which is not permitted
       with the copy functions; these were changed to invoke `MakeStringSpan` first.
    3. Other miscellaneous errors resulting from over-eager regexes and/or the
       replacement not being type-aware.  These changes were reverted.
    
    Differential Revision: https://phabricator.services.mozilla.com/D88903
    cfb8fb31