◐ Shell
clean mode source ↗

Message 274345 - Python tracker

Though it is clean to do like this: let _PyUnicode_JoinArray have `NULL` mean empty string, as it is more logical anyway; then PyUnicode_Join itself just needs to:

   if (separator == NULL) {
       separator = PyUnicode_FromOrdinal(' ');
       /* check omitted */
       res = _PyUnicode_JoinArray(separator, items, seqlen);
       Py_DECREF(separator);
   }
   else {
      res = _PyUnicode_JoinArray(separator, items, seqlen);
   }

The NULL argument I guess isn't that common to pass to PyUnicode_Join (Python code especially would always have to pass in ' ' instead), so this shouldn't really affect performance for any case at all.