-/*@-bounds@*/
+/*@-bounds -realcompare -sizeoftype @*/
#include "system.h"
#include <rpmio.h>
#include <rpmmacro.h>
lua->L = L;
for (; lib->name; lib++) {
- lib->func(L);
+ (void) lib->func(L);
lua_settop(L, 0);
}
lua_pushliteral(L, "LUA_PATH");
lua_pushstring(L, key);
lua_concat(L, 2);
lua_rawget(L, LUA_REGISTRYINDEX);
+/*@-branchstate@*/
if (lua_islightuserdata(L, -1))
ret = lua_touserdata(L, -1);
+/*@=branchstate@*/
lua_pop(L, 1);
return ret;
}
{
lua_State *L = lua->L;
if (var->listmode && lua->pushsize > 0) {
- if (var->keyType != RPMLUAV_NUMBER || var->key.num == 0) {
+ if (var->keyType != RPMLUAV_NUMBER || var->key.num == (double)0) {
var->keyType = RPMLUAV_NUMBER;
- var->key.num = luaL_getn(L, -1);
+ var->key.num = (double) luaL_getn(L, -1);
}
var->key.num++;
}
switch (lua_type(L, -1)) {
case LUA_TSTRING:
*type = RPMLUAV_STRING;
+/*@-observertrans -dependenttrans @*/
*((const char **)value) = lua_tostring(L, -1);
+/*@=observertrans =dependenttrans @*/
break;
case LUA_TNUMBER:
*type = RPMLUAV_NUMBER;
if (lua->pushsize == 0)
lua_pop(L, 1);
} else if (lua->pushsize > 0) {
- pushvar(L, var->keyType, &var->key);
+ (void) pushvar(L, var->keyType, &var->key);
if (lua_next(L, -2) != 0)
popvar(L, &var->valueType, &var->value);
}
char buf[BUFSIZ];
const char *s, *e;
int ret = 0;
- vsnprintf(buf, BUFSIZ, key, va);
+ (void) vsnprintf(buf, BUFSIZ, key, va);
s = e = buf;
lua_pushvalue(L, LUA_GLOBALSINDEX);
for (;;) {
{
va_list va;
va_start(va, key);
- findkey(lua->L, FINDKEY_REMOVE, key, va);
+ (void) findkey(lua->L, FINDKEY_REMOVE, key, va);
va_end(va);
}
{
va_list va;
va_start(va, key);
- findkey(lua->L, FINDKEY_CREATE, key, va);
+ (void) findkey(lua->L, FINDKEY_CREATE, key, va);
lua->pushsize++;
va_end(va);
}
void rpmluavSetKey(rpmluav var, rpmluavType type, const void *value)
{
var->keyType = type;
+/*@-assignexpose -branchstate -temptrans @*/
switch (type) {
case RPMLUAV_NUMBER:
var->key.num = *((double *)value);
default:
break;
}
+/*@=assignexpose =branchstate =temptrans @*/
}
void rpmluavSetValue(rpmluav var, rpmluavType type, const void *value)
{
var->valueType = type;
+/*@-assignexpose -branchstate -temptrans @*/
switch (type) {
case RPMLUAV_NUMBER:
var->value.num = *((const double *)value);
default:
break;
}
+/*@=assignexpose =branchstate =temptrans @*/
}
void rpmluavGetKey(rpmluav var, rpmluavType *type, void **value)
{
*type = var->keyType;
+/*@-onlytrans@*/
switch (var->keyType) {
case RPMLUAV_NUMBER:
*((double **)value) = &var->key.num;
default:
break;
}
+/*@=onlytrans@*/
}
void rpmluavGetValue(rpmluav var, rpmluavType *type, void **value)
{
*type = var->valueType;
+/*@-onlytrans@*/
switch (var->valueType) {
case RPMLUAV_NUMBER:
*((double **)value) = &var->value.num;
default:
break;
}
+/*@=onlytrans@*/
}
void rpmluavSetKeyNum(rpmluav var, double value)
rpmluavGetKey(var, &type, &value);
if (type == RPMLUAV_NUMBER)
return *((double *)value);
- return 0;
+ return (double) 0;
}
double rpmluavGetValueNum(rpmluav var)
rpmluavGetValue(var, &type, &value);
if (type == RPMLUAV_NUMBER)
return *((double *)value);
- return 0;
+ return (double) 0;
}
int rpmluavKeyIsNum(rpmluav var)
{
lua_State *L = lua->L;
int ret = 0;
- if (!name)
+/*@-branchstate@*/
+ if (name == NULL)
name = "<lua>";
+/*@=branchstate@*/
if (luaL_loadbuffer(L, script, strlen(script), name) != 0) {
rpmError(RPMERR_SCRIPT,
_("invalid syntax in lua scriptlet: %s\n"),
{
lua_State *L = lua->L;
int ret = 0;
- if (!name)
+/*@-branchstate@*/
+ if (name == NULL)
name = "<lua>";
+/*@=branchstate@*/
if (luaL_loadbuffer(L, script, strlen(script), name) != 0) {
rpmError(RPMERR_SCRIPT, _("invalid syntax in lua script: %s\n"),
lua_tostring(L, -1));
{
static char buffer[1024];
if (prompt) {
- fputs(prompt, stdout);
- fflush(stdout);
+ (void) fputs(prompt, stdout);
+ (void) fflush(stdout);
}
if (fgets(buffer, sizeof(buffer), stdin) == NULL) {
return 0; /* read fails */
/*@globals fileSystem @*/
/*@modifies L, fileSystem @*/
{
- fputs("\n", stdout);
+ (void) fputs("\n", stdout);
printf("RPM Interactive %s Interpreter\n", LUA_VERSION);
for (;;) {
int rc = 0;
if (rpmluaReadline(L, "> ") == 0)
break;
if (lua_tostring(L, -1)[0] == '=') {
- lua_pushfstring(L, "print(%s)", lua_tostring(L, -1)+1);
+/*@-evalorder@*/
+ (void) lua_pushfstring(L, "print(%s)", lua_tostring(L, -1)+1);
+/*@=evalorder@*/
lua_remove(L, -2);
}
for (;;) {
+/*@-evalorder@*/
rc = luaL_loadbuffer(L, lua_tostring(L, -1),
lua_strlen(L, -1), "<lua>");
+/*@=evalorder@*/
if (rc == LUA_ERRSYNTAX &&
strstr(lua_tostring(L, -1), "near `<eof>'") != NULL) {
if (rpmluaReadline(L, ">> ") == 0)
}
lua_pop(L, 1); /* Remove line */
}
- fputs("\n", stdout);
+ (void) fputs("\n", stdout);
}
void rpmluaInteractive(rpmlua lua)
/*@modifies L, rpmGlobalMacroContext @*/
{
const char *str = luaL_checkstring(L, 1);
- rpmDefineMacro(NULL, str, 0);
+ (void) rpmDefineMacro(NULL, str, 0);
return 0;
}
lua->printbufused += sl;
} else {
if (i > 1)
- fputs("\t", stdout);
- fputs(s, stdout);
+ (void) fputs("\t", stdout);
+ (void) fputs(s, stdout);
}
lua_pop(L, 1); /* pop result */
}
lua_pop(L, 1);
if (!lua->storeprint) {
- fputs("\n", stdout);
+ (void) fputs("\n", stdout);
} else {
if (lua->printbufused+1 >= lua->printbufsize) {
lua->printbufsize += 512;
luaL_openlib(L, "rpm", rpmlib, 0);
return 0;
}
-/*@=bounds@*/
+/*@=bounds =realcompare =sizeoftype @*/
/**
* Load macro context from a macro file.
* @param mc (unused)
- * @param macrofiles colon separated list of macro files (NULL does nothing)
+ * @param fn macro file name
*/
-int rpmLoadMacroFile(/*@null@*/ MacroContext mc, const char * macrofiles)
+int rpmLoadMacroFile(/*@null@*/ MacroContext mc, const char * fn)
/*@globals rpmGlobalMacroContext,
h_errno, fileSystem, internalState @*/
- /*@modifies rpmGlobalMacroContext, fileSystem, internalState @*/;
+ /*@modifies mc, rpmGlobalMacroContext, fileSystem, internalState @*/;
/**
* Initialize macro context from set of macrofile(s).
void rpmInitMacros (/*@null@*/ MacroContext mc, const char * macrofiles)
/*@globals rpmGlobalMacroContext, rpmCLIMacroContext,
h_errno, fileSystem, internalState @*/
- /*@modifies rpmGlobalMacroContext, fileSystem, internalState @*/;
+ /*@modifies mc, rpmGlobalMacroContext, fileSystem, internalState @*/;
/**
* Destroy macro context.