[ https://issues.apache.org/jira/browse/THRIFT-4940?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
pengzhouhu updated THRIFT-4940: ------------------------------- Description: i debug the compiler in compiler\cpp\src\thrift\generate\main.cc line 169, values should inialization before beused. a little improvement i suggest. {code:java} /** * Win32 doesn't have realpath, so use fallback implementation in that case, * otherwise this just calls through to realpath */ char* saferealpath(const char* path, char* resolved_path) { #ifdef _WIN32 *_ char buf[MAX_PATH]; char* basename;_* DWORD len = GetFullPathNameA(path, MAX_PATH, buf, &basename); if (len == 0 || len > MAX_PATH - 1) { strcpy(resolved_path, path); } else { strcpy(resolved_path, buf); } // Replace backslashes with forward slashes so the // rest of the code behaves correctly. size_t resolved_len = strlen(resolved_path); for (size_t i = 0; i < resolved_len; i++) { if (resolved_path[i] == '\\') { resolved_path[i] = '/'; } } return resolved_path; #else return realpath(path, resolved_path); #endif } {code} thanks. zhouhu. was: i debug the compiler in compiler\cpp\src\thrift\generate\main.cc line 169, values should inialization before beused. a little improvement i suggest. {code:java} /** * Win32 doesn't have realpath, so use fallback implementation in that case, * otherwise this just calls through to realpath */ char* saferealpath(const char* path, char* resolved_path) { #ifdef _WIN32 {color:red} char buf[MAX_PATH]; char* basename;{color} DWORD len = GetFullPathNameA(path, MAX_PATH, buf, &basename); if (len == 0 || len > MAX_PATH - 1) { strcpy(resolved_path, path); } else { strcpy(resolved_path, buf); } // Replace backslashes with forward slashes so the // rest of the code behaves correctly. size_t resolved_len = strlen(resolved_path); for (size_t i = 0; i < resolved_len; i++) { if (resolved_path[i] == '\\') { resolved_path[i] = '/'; } } return resolved_path; #else return realpath(path, resolved_path); #endif } {code} thanks. zhouhu. > value should inialization when defined > -------------------------------------- > > Key: THRIFT-4940 > URL: https://issues.apache.org/jira/browse/THRIFT-4940 > Project: Thrift > Issue Type: Improvement > Affects Versions: 0.13.0 > Environment: win7, visual studio 2015, thrift-master > Reporter: pengzhouhu > Priority: Major > Fix For: 0.13.0 > > Time Spent: 10m > Remaining Estimate: 0h > > i debug the compiler in compiler\cpp\src\thrift\generate\main.cc line 169, > values should inialization before beused. a little improvement i suggest. > {code:java} > /** > * Win32 doesn't have realpath, so use fallback implementation in that case, > * otherwise this just calls through to realpath > */ > char* saferealpath(const char* path, char* resolved_path) { > #ifdef _WIN32 > *_ char buf[MAX_PATH]; > char* basename;_* > DWORD len = GetFullPathNameA(path, MAX_PATH, buf, &basename); > if (len == 0 || len > MAX_PATH - 1) { > strcpy(resolved_path, path); > } else { > strcpy(resolved_path, buf); > } > // Replace backslashes with forward slashes so the > // rest of the code behaves correctly. > size_t resolved_len = strlen(resolved_path); > for (size_t i = 0; i < resolved_len; i++) { > if (resolved_path[i] == '\\') { > resolved_path[i] = '/'; > } > } > return resolved_path; > #else > return realpath(path, resolved_path); > #endif > } > {code} > thanks. > zhouhu. -- This message was sent by Atlassian Jira (v8.3.2#803003)