func: svn_error_t *svn_cmdline__edit_file_externally(const char *path,const char *editor_cmd,apr_hash_t *config,apr_pool_t *pool) const char * editor ; const char * cmd ; const char * base_dir ; const char * file_name ; const char * base_dir_apr ; int sys_err ; apr_status_t apr_err ; svn_error_t * svn_err__temp = find_editor_binary ( & editor , editor_cmd , config ) ; static svn_error_t *find_editor_binary(const char **editor,const char *editor_cmd,apr_hash_t *config) const char * e ; e = editor_cmd; if ( ! e )  e = ( getenv ( "SVN_EDITOR" ) ); if ( ! e )  e = ( getenv ( "VISUAL" ) ); if ( ! e )  e = ( getenv ( "EDITOR" ) ); if ( ! e )  e = "/usr/bin/vi"; if ( e )  const char * c ; for (c = e;  *c; c++) if ( ! ( 0 != ( svn_ctype_table [ ( unsigned char ) ( * c ) ] & 0x0002 ) ) )  if ( ! ( * c ) )  return svn_error_create ( SVN_ERR_CL_NO_EXTERNAL_EDITOR , ( ( void * ) 0 ) , ( dgettext ( "subversion" , "The EDITOR, SVN_EDITOR or VISUAL environment variable or 'editor-cmd' run-time configuration option is empty or consists solely of whitespace. Expected a shell command." ) ) ) ; return svn_error_create ( SVN_ERR_CL_NO_EXTERNAL_EDITOR , ( ( void * ) 0 ) , ( dgettext ( "subversion" , "None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found" ) ) ) ; return 0 ; if ( svn_err__temp )  while ( 0 )  apr_err = apr_filepath_get ( & old_cwd , 0x10 , pool ); if ( apr_err )  if ( base_dir [ 0 ] == '\0' )  base_dir_apr = "."; svn_error_t * svn_err__temp = svn_path_cstring_from_utf8 ( & base_dir_apr , base_dir , pool ) ; if ( svn_err__temp )  while ( 0 )  apr_err = apr_filepath_set ( base_dir_apr , pool ); if ( apr_err )  cmd = ( apr_psprintf ( pool , "%s %s" , editor , file_name ) ); sys_err = system ( cmd ); if ( sys_err )  return svn_error_createf ( SVN_ERR_EXTERNAL_PROGRAM , ( ( void * ) 0 ) , ( dgettext ( "subversion" , "system('%s') returned %d" ) ) , cmd , sys_err ) ; 