[ 
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 values should inialization before beused. a 
little improvement i suggest. 


> 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)

Reply via email to