[med-svn] [aghermann] 21/23: rk1968 profile management fixes:
andrei zavada
hmmr-guest at moszumanska.debian.org
Wed Jan 4 22:59:26 UTC 2017
This is an automated email from the git hooks/post-receive script.
hmmr-guest pushed a commit to tag 1.1.2
in repository aghermann.
commit ef4c540d215b53463aec2aba0c526c3f8233e0bc
Author: Andrei Zavada <hmmr at frdg>
Date: Tue Jan 3 15:35:33 2017 +0200
rk1968 profile management fixes:
* don't try to save deleted rk1968 profiles;
* throw on load failure in ctor;
* allow empty scripts;
* use protected_up() in construct.
---
upstream/src/aghermann/expdesign/dirlevel.cc | 4 +++-
upstream/src/aghermann/expdesign/dirlevel.hh | 2 +-
upstream/src/aghermann/rk1968/rk1968.cc | 13 ++++++-------
upstream/src/aghermann/ui/sf/d/rk1968.cc | 2 +-
4 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/upstream/src/aghermann/expdesign/dirlevel.cc b/upstream/src/aghermann/expdesign/dirlevel.cc
index dea8285..38959f5 100644
--- a/upstream/src/aghermann/expdesign/dirlevel.cc
+++ b/upstream/src/aghermann/expdesign/dirlevel.cc
@@ -149,8 +149,10 @@ save()
int
CStorablePPack::
-delete_file() const
+delete_file()
{
+ APPLOG_INFO ("deleting %s", path().c_str());
+ saved = true;
return unlink( path().c_str());
}
diff --git a/upstream/src/aghermann/expdesign/dirlevel.hh b/upstream/src/aghermann/expdesign/dirlevel.hh
index 2ef8929..c5852f2 100644
--- a/upstream/src/aghermann/expdesign/dirlevel.hh
+++ b/upstream/src/aghermann/expdesign/dirlevel.hh
@@ -121,7 +121,7 @@ class CStorablePPack {
virtual int load();
virtual int save();
- virtual int delete_file() const;
+ virtual int delete_file();
virtual string serialize() const;
void touch()
{ saved = false; }
diff --git a/upstream/src/aghermann/rk1968/rk1968.cc b/upstream/src/aghermann/rk1968/rk1968.cc
index efab606..41bb7e8 100644
--- a/upstream/src/aghermann/rk1968/rk1968.cc
+++ b/upstream/src/aghermann/rk1968/rk1968.cc
@@ -43,8 +43,10 @@ CScoreAssistant (const string& name_,
status (0),
lua_state (nullptr)
{
- if ( load() )
+ if ( load() ) {
APPLOG_WARN ("no script loaded from \"%s\"", path().c_str());
+ throw invalid_argument ("no script loaded");
+ }
}
CScoreAssistant::
@@ -83,6 +85,9 @@ int
CScoreAssistant::
save() const
{
+ if ( saved || level == TExpDirLevel::transient || level == TExpDirLevel::system )
+ return 0;
+
string p = path();
if ( fs::mkdir_with_parents( fs::dirname(p)) ) {
APPLOG_WARN ("mkdir(\"%s\") failed: %s", p.c_str(), strerror(errno));
@@ -111,12 +116,6 @@ int
CScoreAssistant::
compile()
{
- if ( script_contents.empty() ) {
- APPLOG_WARN ("no script to compile (\"%s\")", path().c_str());
- status |= TFlags::ecompile;
- return -1;
- }
-
lua_init();
lua_settop( lua_state, 0);
int ret1 = luaL_loadbuffer(
diff --git a/upstream/src/aghermann/ui/sf/d/rk1968.cc b/upstream/src/aghermann/ui/sf/d/rk1968.cc
index 2c78af1..3a40ef3 100644
--- a/upstream/src/aghermann/ui/sf/d/rk1968.cc
+++ b/upstream/src/aghermann/ui/sf/d/rk1968.cc
@@ -102,7 +102,7 @@ SRK1968Dialog (SScoringFacility& p_)
// 2. dialog
W_V.reg( tSFRKScript, &Pp2.script_contents);
- W_V.up();
+ protected_up();
}
SScoringFacility::SRK1968Dialog::
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-med/aghermann.git
More information about the debian-med-commit
mailing list