543 {
544 (void) src;
545 auto &tls = detail::tls_errored_results();
546 if(!tls.reentering_self)
547 {
548 handle *currenth = tls.current_handle;
549 native_handle_type nativeh;
550 if(currenth != nullptr)
551 {
552 nativeh = currenth->native_handle();
553
554 tls.reentering_self = true;
555 auto currentpath_ = currenth->current_path();
556 tls.reentering_self = false;
557 if(currentpath_)
558 {
559 auto currentpath = currentpath_.value().string();
560 dest._thread_id = tls.this_thread_id;
561#ifdef _MSC_VER
562#pragma warning(push)
563#pragma warning(disable : 4996)
564#endif
565#if(__GNUC__ >= 8) && !defined(__clang__)
566#pragma GCC diagnostic push
567#pragma GCC diagnostic ignored "-Wstringop-overflow"
568#endif
569
570
571
572
573 strncpy(tls.next(dest._tls_path_id1), QUICKCPPLIB_NAMESPACE::ringbuffer_log::last190(currentpath), 190);
574#if(__GNUC__ >= 8) && !defined(__clang__)
575#pragma GCC diagnostic pop
576#endif
577#ifdef _MSC_VER
578#pragma warning(pop)
579#endif
580 dest._tls_path_id2 = dest._tls_path_id1 - 17;
581 }
582 }
583#if LLFIO_LOGGING_LEVEL >= 2
584 if(log().log_level() >= log_level::error)
585 {
586 dest._log_id = log().emplace_back(log_level::error, src.message().c_str(), static_cast<uint32_t>(nativeh._init), tls.this_thread_id);
587 }
588#endif
589 }
590 }