telnet: add telnet history support
adapted from Yoshinori Sato's patch:
2f07f4600a
Change-Id: I084b86d316b0aa6e9593f007c024961dbda805e9
Signed-off-by: Spencer Oliver <spen@spen-soft.co.uk>
Reviewed-on: http://openocd.zylin.com/1310
Tested-by: jenkins
Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
This commit is contained in:
committed by
Freddie Chopin
parent
d7646942f2
commit
ff1108ad38
@@ -128,3 +128,47 @@ int parse_config_file(struct command_context *cmd_ctx)
|
||||
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <pwd.h>
|
||||
#endif
|
||||
|
||||
char *get_home_dir(const char *append_path)
|
||||
{
|
||||
char *home = getenv("HOME");
|
||||
|
||||
if (home == NULL) {
|
||||
|
||||
#ifdef _WIN32
|
||||
home = getenv("USERPROFILE");
|
||||
|
||||
if (home == NULL) {
|
||||
|
||||
char homepath[MAX_PATH];
|
||||
char *drive = getenv("HOMEDRIVE");
|
||||
char *path = getenv("HOMEPATH");
|
||||
if (drive && path) {
|
||||
snprintf(homepath, MAX_PATH, "%s/%s", drive, path);
|
||||
home = homepath;
|
||||
}
|
||||
}
|
||||
#else
|
||||
struct passwd *pwd = getpwuid(getuid());
|
||||
if (pwd)
|
||||
home = pwd->pw_dir;
|
||||
|
||||
#endif
|
||||
}
|
||||
|
||||
if (home == NULL)
|
||||
return home;
|
||||
|
||||
char *home_path;
|
||||
|
||||
if (append_path)
|
||||
home_path = alloc_printf("%s/%s", home, append_path);
|
||||
else
|
||||
home_path = alloc_printf("%s", home);
|
||||
|
||||
return home_path;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user