Reserve '#' for comments in Extended Response Protocol

git-svn-id: https://hamlib.svn.sourceforge.net/svnroot/hamlib/trunk@2842 7ae35d74-ebe9-4afe-98af-79ac388436b8
Hamlib-1.2.11
Nate Bargmann, N0NB 2010-03-01 22:37:06 +00:00
rodzic 44e5abe225
commit b261cea22e
4 zmienionych plików z 32 dodań i 23 usunięć

Wyświetl plik

@ -316,12 +316,12 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc)
return 0;
}
if (cmd != '\\' && cmd != '_' && ispunct(cmd) && !prompt) {
if (cmd != '\\' && cmd != '_' && cmd != '#' && ispunct(cmd) && !prompt) {
ext_resp = 1;
resp_sep = cmd;
if (scanfc(fin, "%c", &cmd) < 0)
return -1;
} else if (cmd != '\\' && cmd != '?' && cmd != '_' && ispunct(cmd) && prompt) {
} else if (cmd != '\\' && cmd != '?' && cmd != '_' && cmd != '#' && ispunct(cmd) && prompt) {
return 0;
}
@ -357,7 +357,7 @@ int rigctl_parse(RIG *my_rig, FILE *fin, FILE *fout, char *argv[], int argc)
last_was_ret = 0;
/* comment line */
if (cmd == '#' || cmd == ';') {
if (cmd == '#') {
while( cmd != '\n' && cmd != '\r')
if (scanfc(fin, "%c", &cmd) < 0)
return -1;

Wyświetl plik

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH RIGCTLD "8" "February 17, 2010" "Hamlib" "Rig Control Daemon"
.TH RIGCTLD "8" "March 1, 2010" "Hamlib" "Rig Control Daemon"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -563,6 +563,10 @@ Reserved for 'help' in rigctl short command
.B '_'
.br
Reserved for \\get_info short command
.TP
.B '#'
.br
Reserved for comments when reading a command file script
.sp
Other punctuation characters have not been tested! Use at your own risk.
.PP

Wyświetl plik

@ -210,7 +210,8 @@ int rotctl_parse(ROT *my_rot, FILE *fin, FILE *fout, char *argv[], int argc)
return -1;
/* Extended response protocol requested with leading '+' on command
* string -- rotctld only! */
* string--rotctld only!
*/
if (cmd == '+' && !prompt) {
ext_resp = 1;
if (scanfc(fin, "%c", &cmd) < 0)
@ -219,13 +220,12 @@ int rotctl_parse(ROT *my_rot, FILE *fin, FILE *fout, char *argv[], int argc)
return 0;
}
if (cmd != '\\' && cmd != '_' && ispunct(cmd) && !prompt) {
ext_resp = 1;
resp_sep = cmd;
if (cmd != '\\' && cmd != '_' && cmd != '#' && ispunct(cmd) && !prompt) {
ext_resp = 1;
resp_sep = cmd;
if (scanfc(fin, "%c", &cmd) < 0)
return -1;
continue;
} else if (cmd != '\\' && cmd != '?' && cmd != '_' && ispunct(cmd) && prompt) {
} else if (cmd != '\\' && cmd != '?' && cmd != '_' && cmd != '#' && ispunct(cmd) && prompt) {
return 0;
}
@ -260,7 +260,7 @@ int rotctl_parse(ROT *my_rot, FILE *fin, FILE *fout, char *argv[], int argc)
last_was_ret = 0;
/* comment line */
if (cmd == '#' || cmd == ';') {
if (cmd == '#') {
while( cmd != '\n' && cmd != '\r')
if (scanfc(fin, "%c", &cmd) < 0)
return -1;
@ -418,29 +418,30 @@ int rotctl_parse(ROT *my_rot, FILE *fin, FILE *fout, char *argv[], int argc)
if (retcode != RIG_OK) {
/* only for rotctld */
if (interactive && !prompt) {
fprintf(fout, NETROTCTL_RET "%d\n", retcode);
ext_resp = 0;
resp_sep = '\n';
}
fprintf(fout, NETROTCTL_RET "%d\n", retcode);
ext_resp = 0;
resp_sep = '\n';
}
else
fprintf(fout, "%s: error = %s\n", cmd_entry->name, rigerror(retcode));
fprintf(fout, "%s: error = %s\n", cmd_entry->name, rigerror(retcode));
} else {
/* only for rotctld */
if (interactive && !prompt) {
/* netrotctl RIG_OK */
if (!(cmd_entry->flags & ARG_OUT)
&& !opt_end && !ext_resp && cmd != 0xf0)
if (!(cmd_entry->flags & ARG_OUT) && !opt_end && !ext_resp)
fprintf(fout, NETROTCTL_RET "0\n");
/* block marker protocol */
else if (ext_resp && cmd != 0xf0) {
/* Extended Response protocol */
else if (ext_resp && cmd != 0xf0) {
fprintf(fout, NETROTCTL_RET "0\n");
ext_resp = 0;
resp_sep = '\n';
resp_sep = '\n';
}
/* Nate's protocol (obsolete) */
else if ((cmd_entry->flags & ARG_OUT) && opt_end)
fprintf(fout, "END\n");
}
}
}
fflush(fout);

Wyświetl plik

@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH ROTCTLD "8" "February 17, 2010" "Hamlib" "Rotator Control Daemon"
.TH ROTCTLD "8" "March 1, 2010" "Hamlib" "Rotator Control Daemon"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -372,6 +372,10 @@ Reserved for 'help' in rotctl short command
.B '_'
.br
Reserved for \\get_info short command
.TP
.B '#'
.br
Reserved for comments when reading a command file script
.sp
Other punctuation characters have not been tested! Use at your own risk.
.PP