- nbytes = mconv_encode_buffer (Mcoding_utf_8, MPLIST_MTEXT (p1),
- (unsigned char *) path, PATH_MAX);
- if (nbytes < 0 || nbytes >= PATH_MAX)
+ mt = MPLIST_MTEXT (p1);
+ if (mt->format >= MTEXT_FORMAT_UTF_16LE)
+ mtext__adjust_format (mt, MTEXT_FORMAT_UTF_8);
+ nbytes = mtext_nbytes (mt);
+#ifdef PATH_MAX
+ if (nbytes > PATH_MAX)