================
@@ -127,16 +133,85 @@ std::string getFormatString() {
 // GetMainExecutable (since some platforms don't support taking the
 // address of main, and some platforms can't implement GetMainExecutable
 // without being given the address of a function in the main executable).
-std::string GetExecutablePath(const char *Argv0, void *MainAddr) {
+std::string getExecutablePath(const char *Argv0, void *MainAddr) {
   return llvm::sys::fs::getMainExecutable(Argv0, MainAddr);
 }
 
+llvm::Error getAssetFiles(clang::doc::ClangDocContext &CDCtx) {
+  std::error_code Code;
+  llvm::SmallString<128> FilePath = llvm::SmallString<128>(UserAssetPath);
+  for (auto DirIt = llvm::sys::fs::directory_iterator(UserAssetPath, Code),
+            DirEnd = llvm::sys::fs::directory_iterator();
+       !Code && DirIt != DirEnd; DirIt.increment(Code)) {
+    FilePath = llvm::SmallString<128>(DirIt->path());
----------------
ilovepi wrote:

You can either directly assign to an `std::string` or by using the `.assign()` 
method. I think this will have at least 1 extra copy by constructing the small 
string and then assigning it through the implicit conversion from 
`SmallString<T>` to `StringRef`.
```suggestion
    FilePath = DirIt->path();
```

https://github.com/llvm/llvm-project/pull/94717
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to