diff options
| author | root <root@elwms02.(none)> | 2010-04-06 16:13:08 +0200 |
|---|---|---|
| committer | root <root@elwms02.(none)> | 2010-04-06 16:13:08 +0200 |
| commit | 0e7005fcc7483c01aa102fbea358c5ac65a48d62 (patch) | |
| tree | 11517ce0d3d2977c6732b3aa583b0008083e0bd3 /plugins/submenu/submenu-0.0.2.diff | |
| download | x-vdr-0e7005fcc7483c01aa102fbea358c5ac65a48d62.tar.gz x-vdr-0e7005fcc7483c01aa102fbea358c5ac65a48d62.tar.bz2 | |
hello world
Diffstat (limited to 'plugins/submenu/submenu-0.0.2.diff')
| -rw-r--r-- | plugins/submenu/submenu-0.0.2.diff | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/plugins/submenu/submenu-0.0.2.diff b/plugins/submenu/submenu-0.0.2.diff new file mode 100644 index 0000000..d5ab305 --- /dev/null +++ b/plugins/submenu/submenu-0.0.2.diff @@ -0,0 +1,82 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_asprintf.dpatch by Tobias Grimm <tg@e-tobi.net> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Fixes wrong usage of asprintf and correctly free's memory allocated by it. + +@DPATCH@ +diff -urNad --exclude=CVS --exclude=.svn ./submenu-setup.c /tmp/dpep-work.ho7VxE/vdr-plugin-submenu-0.0.2/submenu-setup.c +--- ./submenu-setup.c 2005-02-03 15:35:49.000000000 +0100 ++++ /tmp/dpep-work.ho7VxE/vdr-plugin-submenu-0.0.2/submenu-setup.c 2005-08-24 00:37:43.000000000 +0200 +@@ -245,19 +245,25 @@ + void cSubMenuSetup::DrawSubMenu(int level) + { + curLevel++; +- char *line; ++ char *line, *tmp; + for(int i=0;i<SMSetup.Arbo.MaxItem[level];i++) + { + asprintf(&line,"%s",""); + for (int z=0;z<curLevel*5;z++) + { +- asprintf(&line,"%s ",line); ++ tmp = line; ++ asprintf(&line,"%s ",tmp); ++ free(tmp); + } + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem!=0) + { +- asprintf(&line,"%s+",line); ++ tmp = line; ++ asprintf(&line,"%s+",tmp); ++ free(tmp); + } +- asprintf(&line,"%s%s",line,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].name)); ++ tmp = line; ++ asprintf(&line,"%s%s",tmp,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].name)); ++ free(tmp); + Add (new cOsdItem(line),true); + SMSetup.Arbo.CurrentIndex[Current()]=SMSetup.Arbo.Index[level][i]; + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem!=0) +@@ -265,23 +271,26 @@ + DrawSubMenu(SMSetup.subMenuItem[SMSetup.Arbo.Index[level][i]].kindOfItem); + curLevel--; + } ++ free(line); + } +- delete line; + } + + void cSubMenuSetup::DrawMenu(void) + { + int cur=Current(); + Clear(); +- char *line; ++ char *line, *tmp; + for (int j=0;j<SMSetup.Arbo.MaxItem[0];j++) + { + asprintf(&line,"%s"," "); + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem!=0) + { ++ free(line); + asprintf(&line,"+"); + } +- asprintf(&line,"%s%s",line,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].name)); ++ tmp = line; ++ asprintf(&line,"%s%s",tmp,tr(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].name)); ++ free(tmp); + Add (new cOsdItem(line),true); + SMSetup.Arbo.CurrentIndex[Current()]=SMSetup.Arbo.Index[0][j]; + if (SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem!=0) +@@ -289,10 +298,10 @@ + DrawSubMenu(SMSetup.subMenuItem[SMSetup.Arbo.Index[0][j]].kindOfItem); + curLevel--; + } ++ free(line); + } + SetCurrent(Get(cur)); + Display(); +- delete line; + } + + |
