| 405 | while (str && *str) { |
| 406 | hash ^= (unsigned char)*str++; |
| 407 | hash *= 1099511628211ULL; |
| 408 | } |
| 409 | hash ^= 0xFFU; |
| 410 | hash *= 1099511628211ULL; |
| 411 | return hash; |
| 412 | } |
| 413 | |
| 414 | char* buildWindowsToolOutputDir(BootloaderArgs* args, const char* toolCpp) { |
| 415 | const char* cacheBase = getenv("SC_BUILD_TOOL_CACHE_DIR"); |
| 416 | if (!cacheBase || !cacheBase[0]) cacheBase = getenv("LOCALAPPDATA"); |
| 417 | if (!cacheBase || !cacheBase[0]) cacheBase = getenv("TEMP"); |
| 418 | if (!cacheBase || !cacheBase[0]) { |
| 419 | return Path_join(args->buildDir, "_Tools"); |
| 420 | } |
| 421 | |
| 422 | unsigned long long hash = String_hashFnv1a(args->projectDir ? args->projectDir : args->libraryDir); |
| 423 | hash = String_hashCombine(hash, args->buildDir); |
| 424 | hash = String_hashCombine(hash, args->toolName); |
no outgoing calls
no test coverage detected