Browse Source

API save default config file if none specified

nfactor-troky
Kano 13 years ago
parent
commit
3cb3f09a50
  1. 5
      api.c
  2. 31
      cgminer.c
  3. 1
      miner.h

5
api.c

@ -1976,12 +1976,13 @@ static void devdetails(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, @@ -1976,12 +1976,13 @@ static void devdetails(__maybe_unused SOCKETTYPE c, __maybe_unused char *param,
void dosave(__maybe_unused SOCKETTYPE c, char *param, bool isjson)
{
char filename[PATH_MAX];
FILE *fcfg;
char *ptr;
if (param == NULL || *param == '\0') {
strcpy(io_buffer, message(MSG_MISFN, 0, NULL, isjson));
return;
default_save_file(filename);
param = filename;
}
fcfg = fopen(param, "w");

31
cgminer.c

@ -3006,6 +3006,23 @@ retry: @@ -3006,6 +3006,23 @@ retry:
}
#endif
void default_save_file(char *filename)
{
#if defined(unix)
if (getenv("HOME") && *getenv("HOME")) {
strcpy(filename, getenv("HOME"));
strcat(filename, "/");
}
else
strcpy(filename, "");
strcat(filename, ".cgminer/");
mkdir(filename, 0777);
#else
strcpy(filename, "");
#endif
strcat(filename, def_conf);
}
#ifdef HAVE_CURSES
static void set_options(void)
{
@ -3066,19 +3083,7 @@ retry: @@ -3066,19 +3083,7 @@ retry:
FILE *fcfg;
char *str, filename[PATH_MAX], prompt[PATH_MAX + 50];
#if defined(unix)
if (getenv("HOME") && *getenv("HOME")) {
strcpy(filename, getenv("HOME"));
strcat(filename, "/");
}
else
strcpy(filename, "");
strcat(filename, ".cgminer/");
mkdir(filename, 0777);
#else
strcpy(filename, "");
#endif
strcat(filename, def_conf);
default_save_file(filename);
sprintf(prompt, "Config filename to write (Enter for default) [%s]", filename);
str = curses_input(prompt);
if (strcmp(str, "-1")) {

1
miner.h

@ -742,6 +742,7 @@ extern void kill_work(void); @@ -742,6 +742,7 @@ extern void kill_work(void);
extern void switch_pools(struct pool *selected);
extern void remove_pool(struct pool *pool);
extern void write_config(FILE *fcfg);
extern void default_save_file(char *filename);
extern void log_curses(int prio, const char *f, va_list ap);
extern void clear_logwin(void);
extern bool pool_tclear(struct pool *pool, bool *var);

Loading…
Cancel
Save