From ab3114d164c0420f89843aab904aba8d09fd659d Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Wed, 18 Feb 2015 20:25:07 +0100 Subject: [PATCH] Fixes #2084: index changed to unsigned for Lua mixer funcitons --- radio/src/lua_api.cpp | 35 ++++++++++++++++------------------- 1 file changed, 16 insertions(+), 19 deletions(-) diff --git a/radio/src/lua_api.cpp b/radio/src/lua_api.cpp index 174d1a522..f37fc7ab4 100644 --- a/radio/src/lua_api.cpp +++ b/radio/src/lua_api.cpp @@ -715,7 +715,7 @@ static int luaModelGetInput(lua_State *L) unsigned int idx = luaL_checkunsigned(L, 2); unsigned int first = getFirstInput(chn); unsigned int count = getInputsCountFromFirst(chn, first); - if (count && (idx < count)) { + if (idx < count) { ExpoData * expo = expoAddress(first+idx); lua_newtable(L); lua_pushtablezstring(L, "name", expo->name); @@ -776,7 +776,7 @@ static int luaModelDeleteInput(lua_State *L) int first = getFirstInput(chn); unsigned int count = getInputsCountFromFirst(chn, first); - if (count && (idx < count)) { + if (idx < count) { deleteExpoMix(1, first+idx); } @@ -795,9 +795,9 @@ static int luaModelDefaultInputs(lua_State *L) return 0; } -static int getFirstMix(int chn) +static unsigned int getFirstMix(unsigned int chn) { - for (int i=0; isrcRaw || mix->destCh>=chn) { return i; @@ -806,29 +806,26 @@ static int getFirstMix(int chn) return 0; } -static int getMixesCountFromFirst(int chn, int first) +static unsigned int getMixesCountFromFirst(unsigned int chn, unsigned int first) { - int count = 0; - if (first >= 0) { - for (int i=first; isrcRaw || mix->destCh!=chn) break; - count++; - } + unsigned int count = 0; + for (unsigned int i=first; isrcRaw || mix->destCh!=chn) break; + count++; } return count; } -static int getMixesCount(int chn) +static unsigned int getMixesCount(unsigned int chn) { - int first = getFirstMix(chn); - return getMixesCountFromFirst(chn, first); + return getMixesCountFromFirst(chn, getFirstMix(chn)); } static int luaModelGetMixesCount(lua_State *L) { unsigned int chn = luaL_checkunsigned(L, 1); - int count = getMixesCount(chn); + unsigned int count = getMixesCount(chn); lua_pushinteger(L, count); return 1; } @@ -837,7 +834,7 @@ static int luaModelGetMix(lua_State *L) { unsigned int chn = luaL_checkunsigned(L, 1); unsigned int idx = luaL_checkunsigned(L, 2); - int first = getFirstMix(chn); + unsigned int first = getFirstMix(chn); unsigned int count = getMixesCountFromFirst(chn, first); if (idx < count) { MixData * mix = mixAddress(first+idx); @@ -869,7 +866,7 @@ static int luaModelInsertMix(lua_State *L) unsigned int chn = luaL_checkunsigned(L, 1); unsigned int idx = luaL_checkunsigned(L, 2); - int first = getFirstMix(chn); + unsigned int first = getFirstMix(chn); unsigned int count = getMixesCountFromFirst(chn, first); if (chn