bpo-39522: Use _PyUnicodeWriter_WriteStr instead of PyUnicode_AS_DATA (GH-19523)

diff --git a/Python/ast_unparse.c b/Python/ast_unparse.c
index c321acf..443e712 100644
--- a/Python/ast_unparse.c
+++ b/Python/ast_unparse.c
@@ -875,8 +875,10 @@
         if (e->v.Constant.value == Py_Ellipsis) {
             APPEND_STR_FINISH("...");
         }
-        APPEND_STR_IF(e->v.Constant.kind != NULL,
-                      PyUnicode_AS_DATA(e->v.Constant.kind));
+        if (e->v.Constant.kind != NULL
+            && -1 == _PyUnicodeWriter_WriteStr(writer, e->v.Constant.kind)) {
+            return -1;
+        }
         return append_ast_constant(writer, e->v.Constant.value);
     case JoinedStr_kind:
         return append_joinedstr(writer, e, false);