- Add additional required patches for gnome-lirc-properties (#442248)
- Put remote definitions in their own sub-package (#442328)epel8
parent
2968a4b0aa
commit
89675d7bc3
@ -0,0 +1,109 @@
|
||||
From d5f3f9853d87c319c33ade71811c225db11855f7 Mon Sep 17 00:00:00 2001
|
||||
From: Mathias Hasselmann <mathias@openismus.com>
|
||||
Date: Wed, 13 Feb 2008 21:23:43 +0100
|
||||
Subject: Add --resume switch to irrecord.
|
||||
|
||||
This switch asks irrecord to take hardware parameters from the provided
|
||||
template file, instead of trying to interactively discover them.
|
||||
|
||||
This change is needed for gnome-lirc-properties to allow it having a
|
||||
self-contained key-code learning mode, that's consistent with
|
||||
gnome-keybinding-properties.
|
||||
|
||||
The 'remotes==NULL' check for LIRC_MODE_MODE2 seems to indicate, that its
|
||||
author had a similar behaviour in mind. Still I prefer having that switch,
|
||||
instead of silently switching to --resume behaviour when a templates file
|
||||
was found, for backwards compability and for being able to detect that
|
||||
feature.
|
||||
---
|
||||
daemons/irrecord.c | 17 ++++++++++++-----
|
||||
1 files changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/daemons/irrecord.c b/daemons/irrecord.c
|
||||
index df03c7b..a2420a8 100644
|
||||
--- a/daemons/irrecord.c
|
||||
+++ b/daemons/irrecord.c
|
||||
@@ -192,6 +192,7 @@ int main(int argc,char **argv)
|
||||
lirc_t min_remaining_gap, max_remaining_gap;
|
||||
int force;
|
||||
int retries;
|
||||
+ int resume;
|
||||
struct ir_remote *remotes=NULL;
|
||||
char *device=NULL;
|
||||
#ifdef DEBUG
|
||||
@@ -200,6 +201,7 @@ int main(int argc,char **argv)
|
||||
|
||||
progname=argv[0];
|
||||
force=0;
|
||||
+ resume=0;
|
||||
hw_choose_driver(NULL);
|
||||
while(1)
|
||||
{
|
||||
@@ -211,6 +213,7 @@ int main(int argc,char **argv)
|
||||
{"device",required_argument,NULL,'d'},
|
||||
{"driver",required_argument,NULL,'H'},
|
||||
{"force",no_argument,NULL,'f'},
|
||||
+ {"resume",no_argument,NULL,'r'},
|
||||
#ifdef DEBUG
|
||||
{"pre",no_argument,NULL,'p'},
|
||||
{"post",no_argument,NULL,'P'},
|
||||
@@ -221,9 +224,9 @@ int main(int argc,char **argv)
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
#ifdef DEBUG
|
||||
- c = getopt_long(argc,argv,"hvd:H:fpPtiT",long_options,NULL);
|
||||
+ c = getopt_long(argc,argv,"hvd:H:frpPtiT",long_options,NULL);
|
||||
#else
|
||||
- c = getopt_long(argc,argv,"hvd:H:f",long_options,NULL);
|
||||
+ c = getopt_long(argc,argv,"hvd:H:fr",long_options,NULL);
|
||||
#endif
|
||||
if(c==-1)
|
||||
break;
|
||||
@@ -234,6 +237,7 @@ int main(int argc,char **argv)
|
||||
printf("\t -h --help\t\tdisplay this message\n");
|
||||
printf("\t -v --version\t\tdisplay version\n");
|
||||
printf("\t -f --force\t\tforce raw mode\n");
|
||||
+ printf("\t -r --resume\t\tcontinue recording\n");
|
||||
printf("\t -H --driver=driver\tuse given driver\n");
|
||||
printf("\t -d --device=device\tread from given device\n");
|
||||
exit(EXIT_SUCCESS);
|
||||
@@ -254,6 +258,9 @@ int main(int argc,char **argv)
|
||||
case 'f':
|
||||
force=1;
|
||||
break;
|
||||
+ case 'r':
|
||||
+ resume=1;
|
||||
+ break;
|
||||
#ifdef DEBUG
|
||||
case 'p':
|
||||
get_pre=1;
|
||||
@@ -460,7 +467,7 @@ int main(int argc,char **argv)
|
||||
switch(hw.rec_mode)
|
||||
{
|
||||
case LIRC_MODE_MODE2:
|
||||
- if(remotes==NULL && !get_lengths(&remote,force))
|
||||
+ if((!remotes || !resume) && !get_lengths(&remote,force))
|
||||
{
|
||||
if(remote.gap==0)
|
||||
{
|
||||
@@ -494,7 +501,7 @@ int main(int argc,char **argv)
|
||||
case LIRC_MODE_LIRCCODE:
|
||||
if(hw.rec_mode==LIRC_MODE_CODE) remote.bits=CHAR_BIT;
|
||||
else remote.bits=hw.code_length;
|
||||
- if(!get_gap_length(&remote))
|
||||
+ if((!remotes || !resume) && !get_gap_length(&remote))
|
||||
{
|
||||
fprintf(stderr,"%s: gap not found,"
|
||||
" can't continue\n",progname);
|
||||
@@ -767,7 +774,7 @@ int main(int argc,char **argv)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
- if(!has_toggle_bit_mask(remotes))
|
||||
+ if((!remotes || !resume) && !has_toggle_bit_mask(remotes))
|
||||
{
|
||||
get_toggle_bit_mask(remotes);
|
||||
}
|
||||
--
|
||||
1.5.3.7
|
||||
|
@ -0,0 +1,28 @@
|
||||
From 3e45e512719feccaa16edfd208273bade4f724e4 Mon Sep 17 00:00:00 2001
|
||||
From: Mathias Hasselmann <mathias@openismus.com>
|
||||
Date: Wed, 13 Feb 2008 21:16:09 +0100
|
||||
Subject: Use '.new' instead of '.conf' as filename suffix in template mode,
|
||||
and append that the suffix to 'filename_new' instead of 'filename',
|
||||
to prevent a buffer overrun for 'argv[optind]'.
|
||||
|
||||
---
|
||||
daemons/irrecord.c | 3 ++-
|
||||
1 files changed, 2 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/daemons/irrecord.c b/daemons/irrecord.c
|
||||
index ea298e3..df03c7b 100644
|
||||
--- a/daemons/irrecord.c
|
||||
+++ b/daemons/irrecord.c
|
||||
@@ -364,7 +364,7 @@ int main(int argc,char **argv)
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
strcpy(filename_new, filename);
|
||||
- strcat(filename_new, ".conf");
|
||||
+ strcat(filename_new,".new");
|
||||
filename = filename_new;
|
||||
}
|
||||
fout=fopen(filename,"w");
|
||||
if(fout==NULL)
|
||||
--
|
||||
1.5.3.7
|
||||
|
Loading…
Reference in new issue