[prev in list] [next in list] [prev in thread] [next in thread] 

List:       nsis-commits
Subject:    [NSIS-commits] SF.net SVN: nsis: [5457]
From:       kichik () users ! sourceforge ! net
Date:       2007-12-24 22:47:28
Message-ID: E1J6w52-0007Qv-Aj () sc8-pr-svn2 ! sourceforge ! net
[Download RAW message or body]

Revision: 5457
          http://nsis.svn.sourceforge.net/nsis/?rev=5457&view=rev
Author:   kichik
Date:     2007-12-24 14:47:27 -0800 (Mon, 24 Dec 2007)

Log Message:
-----------
fixed more variable parsing exceptions

Modified Paths:
--------------
    NSIS/branches/nobjs/Source/script.cpp

Modified: NSIS/branches/nobjs/Source/script.cpp
===================================================================
--- NSIS/branches/nobjs/Source/script.cpp	2007-12-24 21:28:41 UTC (rev 5456)
+++ NSIS/branches/nobjs/Source/script.cpp	2007-12-24 22:47:27 UTC (rev 5457)
@@ -3712,8 +3712,11 @@
       if (which_token == TOK_EXECWAIT)
       {
         ent.set_parm(2,1);
-        ent.set_parm_var(1,line.gettoken_str(2));
-        if (line.gettoken_str(2)[0] && !is_valid_user_var(line,2)) PRINTHELP();
+        if (line.gettoken_str(2)[0])
+        {
+          if (!is_valid_user_var(line,2)) PRINTHELP();
+          ent.set_parm_var(1,line.gettoken_str(2));
+        }
       }
       SCRIPT_MSG("%s: \"%s\" (->%s)\n",which_token == \
TOK_EXECWAIT?"ExecWait":"Exec",line.gettoken_str(1),line.gettoken_str(2));  
@@ -5054,12 +5057,12 @@
     case TOK_INTOP:
     {
       nobj_entry ent(EW_INTOP);
+      if (!is_valid_user_var(line, 1)) PRINTHELP();
       ent.set_parm_var(0,line.gettoken_str(1));
       int k=line.gettoken_enum(3,"+\0-\0*\0/\0|\0&\0^\0!\0||\0&&\0%\0<<\0>>\0~\0");
       ent.set_parm(3,k);
-      if (!is_valid_user_var(line, 1) || k < 0 ||
-        ((k == 7 || k == 13) && line.getnumtokens() > 4))
-        PRINTHELP()
+      if (k < 0 || ((k == 7 || k == 13) && line.getnumtokens() > 4))
+        PRINTHELP();
       ent.set_parm(1,line.gettoken_str(2));
       if (k != 7 && k != 13) ent.set_parm(2,line.gettoken_str(4));
       if (k == 13) {
@@ -5489,8 +5492,13 @@
         int tab[3]={FILE_BEGIN,FILE_CURRENT,FILE_END};
         int mode=line.gettoken_enum(3,"SET\0CUR\0END\0");
         nobj_entry ent(EW_FSEEK);
+        if (!is_valid_user_var(line, 1)) PRINTHELP();
         ent.set_parm_var(0,line.gettoken_str(1));
-        ent.set_parm_var(1,line.gettoken_str(4));
+        if (line.gettoken_str(4)[0])
+        {
+          if (!is_valid_user_var(line, 4)) PRINTHELP();
+          ent.set_parm_var(1,line.gettoken_str(4));
+        }
         ent.set_parm(2,line.gettoken_str(2));
 
         if (mode<0 && !line.gettoken_str(3)[0])
@@ -5500,7 +5508,7 @@
         }
         else modestr=line.gettoken_str(3);
 
-        if (mode<0 || !is_valid_user_var(line, 1) || (!is_valid_user_var(line, 4) && \
line.gettoken_str(4)[0])) PRINTHELP(); +        if (mode<0) PRINTHELP();
         ent.set_parm(3,tab[mode]);
         SCRIPT_MSG("FileSeek: fp=%s, ofs=%s, mode=%s, output=%s\n",
           line.gettoken_str(1),


This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
NSIS-commits mailing list
NSIS-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nsis-commits


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic