[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