patch #7699 Read additional config files
* main.c: Added reading of additional config files * avrdude.1: updated man page * doc/avrdude.texi: updated documentation git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1038 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
4ecc6bb0fb
commit
581b66b3a2
|
@ -1,3 +1,10 @@
|
||||||
|
2012-01-10 Rene Liebscher <R.Liebscher@gmx.de>
|
||||||
|
|
||||||
|
patch #7699 Read additional config files
|
||||||
|
* main.c: Added reading of additional config files
|
||||||
|
* avrdude.1: updated man page
|
||||||
|
* doc/avrdude.texi: updated documentation
|
||||||
|
|
||||||
2012-01-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
2012-01-10 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
||||||
|
|
||||||
Submitted by Bob Frazier:
|
Submitted by Bob Frazier:
|
||||||
|
|
10
avrdude.1
10
avrdude.1
|
@ -269,6 +269,16 @@ submit a patch back to the author so that it can be incorporated for
|
||||||
the next version). See the config file, located at
|
the next version). See the config file, located at
|
||||||
.Pa ${PREFIX}/etc/avrdude.conf ,
|
.Pa ${PREFIX}/etc/avrdude.conf ,
|
||||||
which contains a description of the format.
|
which contains a description of the format.
|
||||||
|
.Pp
|
||||||
|
If
|
||||||
|
.Ar config-file
|
||||||
|
is written as
|
||||||
|
.Pa +filename
|
||||||
|
then this file is read after the system wide and user configuration
|
||||||
|
files. This can be used to add entries to the configuration
|
||||||
|
without patching your system wide configuration file. It can be used
|
||||||
|
several times, the files are read in same order as given on the command
|
||||||
|
line.
|
||||||
.It Fl D
|
.It Fl D
|
||||||
Disable auto erase for flash. When the
|
Disable auto erase for flash. When the
|
||||||
.Fl U
|
.Fl U
|
||||||
|
|
|
@ -513,6 +513,14 @@ specified, AVRDUDE reads the configuration file from
|
||||||
/usr/local/etc/avrdude.conf (FreeBSD and Linux). See Appendix A for
|
/usr/local/etc/avrdude.conf (FreeBSD and Linux). See Appendix A for
|
||||||
the method of searching for the configuration file for Windows.
|
the method of searching for the configuration file for Windows.
|
||||||
|
|
||||||
|
If @var{config-file} is written as @var{+filename}
|
||||||
|
then this file is read after the system wide and user configuration
|
||||||
|
files. This can be used to add entries to the configuration
|
||||||
|
without patching your system wide configuration file. It can be used
|
||||||
|
several times, the files are read in same order as given on the command
|
||||||
|
line.
|
||||||
|
|
||||||
|
|
||||||
@item -D
|
@item -D
|
||||||
Disable auto erase for flash. When the -U option with flash memory is
|
Disable auto erase for flash. When the -U option with flash memory is
|
||||||
specified, avrdude will perform a chip erase before starting any of the
|
specified, avrdude will perform a chip erase before starting any of the
|
||||||
|
|
34
main.c
34
main.c
|
@ -75,6 +75,8 @@ static LISTID updates;
|
||||||
|
|
||||||
static LISTID extended_params;
|
static LISTID extended_params;
|
||||||
|
|
||||||
|
static LISTID additional_config_files;
|
||||||
|
|
||||||
static PROGRAMMER * pgm;
|
static PROGRAMMER * pgm;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -342,6 +344,12 @@ int main(int argc, char * argv [])
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
additional_config_files = lcreat(NULL, 0);
|
||||||
|
if (additional_config_files == NULL) {
|
||||||
|
fprintf(stderr, "%s: cannot initialize additional config files list\n", progname);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
partdesc = NULL;
|
partdesc = NULL;
|
||||||
port = default_parallel;
|
port = default_parallel;
|
||||||
erase = 0;
|
erase = 0;
|
||||||
|
@ -448,8 +456,12 @@ int main(int argc, char * argv [])
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'C': /* system wide configuration file */
|
case 'C': /* system wide configuration file */
|
||||||
|
if (optarg[0] == '+') {
|
||||||
|
ladd(additional_config_files, optarg+1);
|
||||||
|
} else {
|
||||||
strncpy(sys_config, optarg, PATH_MAX);
|
strncpy(sys_config, optarg, PATH_MAX);
|
||||||
sys_config[PATH_MAX-1] = 0;
|
sys_config[PATH_MAX-1] = 0;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'D': /* disable auto erase */
|
case 'D': /* disable auto erase */
|
||||||
|
@ -620,6 +632,28 @@ int main(int argc, char * argv [])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lsize(additional_config_files) > 0) {
|
||||||
|
LNODEID ln1;
|
||||||
|
const char * p = NULL;
|
||||||
|
|
||||||
|
for (ln1=lfirst(additional_config_files); ln1; ln1=lnext(ln1)) {
|
||||||
|
p = ldata(ln1);
|
||||||
|
if (verbose) {
|
||||||
|
fprintf(stderr, "%sAdditional configuration file is \"%s\"\n",
|
||||||
|
progbuf, p);
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = read_config(p);
|
||||||
|
if (rc) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"%s: error reading additional configuration file \"%s\"\n",
|
||||||
|
progname, p);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// set bitclock from configuration files unless changed by command line
|
// set bitclock from configuration files unless changed by command line
|
||||||
if (default_bitclock > 0 && bitclock == 0.0) {
|
if (default_bitclock > 0 && bitclock == 0.0) {
|
||||||
bitclock = default_bitclock;
|
bitclock = default_bitclock;
|
||||||
|
|
Loading…
Reference in New Issue