Fix some random -Wconversion warnings
This commit is contained in:
		
							parent
							
								
									548ad391d9
								
							
						
					
					
						commit
						53ec5ac69f
					
				
					 16 changed files with 82 additions and 80 deletions
				
			
		|  | @ -24,13 +24,15 @@ static void * allocBytes(size_t n) | |||
| /* Allocate a new array of attributes for an attribute set with a specific
 | ||||
|    capacity. The space is implicitly reserved after the Bindings | ||||
|    structure. */ | ||||
| Bindings * EvalState::allocBindings(Bindings::size_t capacity) | ||||
| Bindings * EvalState::allocBindings(size_t capacity) | ||||
| { | ||||
|     return new (allocBytes(sizeof(Bindings) + sizeof(Attr) * capacity)) Bindings(capacity); | ||||
|     if (capacity > std::numeric_limits<Bindings::size_t>::max()) | ||||
|         throw Error("attribute set of size %d is too big", capacity); | ||||
|     return new (allocBytes(sizeof(Bindings) + sizeof(Attr) * capacity)) Bindings((Bindings::size_t) capacity); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void EvalState::mkAttrs(Value & v, unsigned int capacity) | ||||
| void EvalState::mkAttrs(Value & v, size_t capacity) | ||||
| { | ||||
|     if (capacity == 0) { | ||||
|         v = vEmptySet; | ||||
|  |  | |||
|  | @ -422,7 +422,7 @@ Value * EvalState::addConstant(const string & name, Value & v) | |||
| 
 | ||||
| 
 | ||||
| Value * EvalState::addPrimOp(const string & name, | ||||
|     unsigned int arity, PrimOpFun primOp) | ||||
|     size_t arity, PrimOpFun primOp) | ||||
| { | ||||
|     if (arity == 0) { | ||||
|         Value v; | ||||
|  | @ -528,7 +528,7 @@ Value & mkString(Value & v, const string & s, const PathSet & context) | |||
| { | ||||
|     mkString(v, s.c_str()); | ||||
|     if (!context.empty()) { | ||||
|         unsigned int n = 0; | ||||
|         size_t n = 0; | ||||
|         v.string.context = (const char * *) | ||||
|             allocBytes((context.size() + 1) * sizeof(char *)); | ||||
|         for (auto & i : context) | ||||
|  | @ -547,7 +547,7 @@ void mkPath(Value & v, const char * s) | |||
| 
 | ||||
| inline Value * EvalState::lookupVar(Env * env, const ExprVar & var, bool noEval) | ||||
| { | ||||
|     for (unsigned int l = var.level; l; --l, env = env->up) ; | ||||
|     for (size_t l = var.level; l; --l, env = env->up) ; | ||||
| 
 | ||||
|     if (!var.fromWith) return env->values[var.displ]; | ||||
| 
 | ||||
|  | @ -566,7 +566,7 @@ inline Value * EvalState::lookupVar(Env * env, const ExprVar & var, bool noEval) | |||
|         } | ||||
|         if (!env->prevWith) | ||||
|             throwUndefinedVarError("undefined variable '%1%' at %2%", var.name, var.pos); | ||||
|         for (unsigned int l = env->prevWith; l; --l, env = env->up) ; | ||||
|         for (size_t l = env->prevWith; l; --l, env = env->up) ; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | @ -578,14 +578,15 @@ Value * EvalState::allocValue() | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| Env & EvalState::allocEnv(unsigned int size) | ||||
| Env & EvalState::allocEnv(size_t size) | ||||
| { | ||||
|     assert(size <= std::numeric_limits<decltype(Env::size)>::max()); | ||||
|     if (size > std::numeric_limits<decltype(Env::size)>::max()) | ||||
|         throw Error("environment size %d is too big", size); | ||||
| 
 | ||||
|     nrEnvs++; | ||||
|     nrValuesInEnvs += size; | ||||
|     Env * env = (Env *) allocBytes(sizeof(Env) + size * sizeof(Value *)); | ||||
|     env->size = size; | ||||
|     env->size = (decltype(Env::size)) size; | ||||
| 
 | ||||
|     /* We assume that env->values has been cleared by the allocator; maybeThunk() and lookupVar fromWith expect this. */ | ||||
| 
 | ||||
|  | @ -593,7 +594,7 @@ Env & EvalState::allocEnv(unsigned int size) | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| void EvalState::mkList(Value & v, unsigned int size) | ||||
| void EvalState::mkList(Value & v, size_t size) | ||||
| { | ||||
|     clearValue(v); | ||||
|     if (size == 1) | ||||
|  | @ -805,7 +806,7 @@ void ExprAttrs::eval(EvalState & state, Env & env, Value & v) | |||
|         /* The recursive attributes are evaluated in the new
 | ||||
|            environment, while the inherited attributes are evaluated | ||||
|            in the original environment. */ | ||||
|         unsigned int displ = 0; | ||||
|         size_t displ = 0; | ||||
|         for (auto & i : attrs) { | ||||
|             Value * vAttr; | ||||
|             if (hasOverrides && !i.second.inherited) { | ||||
|  | @ -879,7 +880,7 @@ void ExprLet::eval(EvalState & state, Env & env, Value & v) | |||
|     /* The recursive attributes are evaluated in the new environment,
 | ||||
|        while the inherited attributes are evaluated in the original | ||||
|        environment. */ | ||||
|     unsigned int displ = 0; | ||||
|     size_t displ = 0; | ||||
|     for (auto & i : attrs->attrs) | ||||
|         env2.values[displ++] = i.second.e->maybeThunk(state, i.second.inherited ? env : env2); | ||||
| 
 | ||||
|  | @ -890,7 +891,7 @@ void ExprLet::eval(EvalState & state, Env & env, Value & v) | |||
| void ExprList::eval(EvalState & state, Env & env, Value & v) | ||||
| { | ||||
|     state.mkList(v, elems.size()); | ||||
|     for (unsigned int n = 0; n < elems.size(); ++n) | ||||
|     for (size_t n = 0; n < elems.size(); ++n) | ||||
|         v.listElems()[n] = elems[n]->maybeThunk(state, env); | ||||
| } | ||||
| 
 | ||||
|  | @ -1012,22 +1013,22 @@ void ExprApp::eval(EvalState & state, Env & env, Value & v) | |||
| void EvalState::callPrimOp(Value & fun, Value & arg, Value & v, const Pos & pos) | ||||
| { | ||||
|     /* Figure out the number of arguments still needed. */ | ||||
|     unsigned int argsDone = 0; | ||||
|     size_t argsDone = 0; | ||||
|     Value * primOp = &fun; | ||||
|     while (primOp->type == tPrimOpApp) { | ||||
|         argsDone++; | ||||
|         primOp = primOp->primOpApp.left; | ||||
|     } | ||||
|     assert(primOp->type == tPrimOp); | ||||
|     unsigned int arity = primOp->primOp->arity; | ||||
|     unsigned int argsLeft = arity - argsDone; | ||||
|     auto arity = primOp->primOp->arity; | ||||
|     auto argsLeft = arity - argsDone; | ||||
| 
 | ||||
|     if (argsLeft == 1) { | ||||
|         /* We have all the arguments, so call the primop. */ | ||||
| 
 | ||||
|         /* Put all the arguments in an array. */ | ||||
|         Value * vArgs[arity]; | ||||
|         unsigned int n = arity - 1; | ||||
|         auto n = arity - 1; | ||||
|         vArgs[n--] = &arg; | ||||
|         for (Value * arg = &fun; arg->type == tPrimOpApp; arg = arg->primOpApp.left) | ||||
|             vArgs[n--] = arg->primOpApp.right; | ||||
|  | @ -1076,13 +1077,13 @@ void EvalState::callFunction(Value & fun, Value & arg, Value & v, const Pos & po | |||
| 
 | ||||
|     ExprLambda & lambda(*fun.lambda.fun); | ||||
| 
 | ||||
|     unsigned int size = | ||||
|     auto size = | ||||
|         (lambda.arg.empty() ? 0 : 1) + | ||||
|         (lambda.matchAttrs ? lambda.formals->formals.size() : 0); | ||||
|     Env & env2(allocEnv(size)); | ||||
|     env2.up = fun.lambda.env; | ||||
| 
 | ||||
|     unsigned int displ = 0; | ||||
|     size_t displ = 0; | ||||
| 
 | ||||
|     if (!lambda.matchAttrs) | ||||
|         env2.values[displ++] = &arg; | ||||
|  | @ -1096,7 +1097,7 @@ void EvalState::callFunction(Value & fun, Value & arg, Value & v, const Pos & po | |||
|         /* For each formal argument, get the actual argument.  If
 | ||||
|            there is no matching actual argument but the formal | ||||
|            argument has a default, use the default. */ | ||||
|         unsigned int attrsUsed = 0; | ||||
|         size_t attrsUsed = 0; | ||||
|         for (auto & i : lambda.formals->formals) { | ||||
|             Bindings::iterator j = arg.attrs->find(i.name); | ||||
|             if (j == arg.attrs->end()) { | ||||
|  | @ -1294,15 +1295,15 @@ void ExprOpConcatLists::eval(EvalState & state, Env & env, Value & v) | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| void EvalState::concatLists(Value & v, unsigned int nrLists, Value * * lists, const Pos & pos) | ||||
| void EvalState::concatLists(Value & v, size_t nrLists, Value * * lists, const Pos & pos) | ||||
| { | ||||
|     nrListConcats++; | ||||
| 
 | ||||
|     Value * nonEmpty = 0; | ||||
|     unsigned int len = 0; | ||||
|     for (unsigned int n = 0; n < nrLists; ++n) { | ||||
|     size_t len = 0; | ||||
|     for (size_t n = 0; n < nrLists; ++n) { | ||||
|         forceList(*lists[n], pos); | ||||
|         unsigned int l = lists[n]->listSize(); | ||||
|         auto l = lists[n]->listSize(); | ||||
|         len += l; | ||||
|         if (l) nonEmpty = lists[n]; | ||||
|     } | ||||
|  | @ -1314,8 +1315,8 @@ void EvalState::concatLists(Value & v, unsigned int nrLists, Value * * lists, co | |||
| 
 | ||||
|     mkList(v, len); | ||||
|     auto out = v.listElems(); | ||||
|     for (unsigned int n = 0, pos = 0; n < nrLists; ++n) { | ||||
|         unsigned int l = lists[n]->listSize(); | ||||
|     for (size_t n = 0, pos = 0; n < nrLists; ++n) { | ||||
|         auto l = lists[n]->listSize(); | ||||
|         if (l) | ||||
|             memcpy(out + pos, lists[n]->listElems(), l * sizeof(Value *)); | ||||
|         pos += l; | ||||
|  | @ -1410,7 +1411,7 @@ void EvalState::forceValueDeep(Value & v) | |||
|         } | ||||
| 
 | ||||
|         else if (v.isList()) { | ||||
|             for (unsigned int n = 0; n < v.listSize(); ++n) | ||||
|             for (size_t n = 0; n < v.listSize(); ++n) | ||||
|                 recurse(*v.listElems()[n]); | ||||
|         } | ||||
|     }; | ||||
|  | @ -1562,7 +1563,7 @@ string EvalState::coerceToString(const Pos & pos, Value & v, PathSet & context, | |||
| 
 | ||||
|         if (v.isList()) { | ||||
|             string result; | ||||
|             for (unsigned int n = 0; n < v.listSize(); ++n) { | ||||
|             for (size_t n = 0; n < v.listSize(); ++n) { | ||||
|                 result += coerceToString(pos, *v.listElems()[n], | ||||
|                     context, coerceMore, copyToStore); | ||||
|                 if (n < v.listSize() - 1 | ||||
|  | @ -1649,7 +1650,7 @@ bool EvalState::eqValues(Value & v1, Value & v2) | |||
|         case tList2: | ||||
|         case tListN: | ||||
|             if (v1.listSize() != v2.listSize()) return false; | ||||
|             for (unsigned int n = 0; n < v1.listSize(); ++n) | ||||
|             for (size_t n = 0; n < v1.listSize(); ++n) | ||||
|                 if (!eqValues(*v1.listElems()[n], *v2.listElems()[n])) return false; | ||||
|             return true; | ||||
| 
 | ||||
|  | @ -1740,26 +1741,26 @@ void EvalState::printStats() | |||
|         v = lvlInfo; | ||||
| 
 | ||||
|         printMsg(v, format("calls to %1% primops:") % primOpCalls.size()); | ||||
|         typedef std::multimap<unsigned int, Symbol> PrimOpCalls_; | ||||
|         typedef std::multimap<size_t, Symbol> PrimOpCalls_; | ||||
|         PrimOpCalls_ primOpCalls_; | ||||
|         for (auto & i : primOpCalls) | ||||
|             primOpCalls_.insert(std::pair<unsigned int, Symbol>(i.second, i.first)); | ||||
|             primOpCalls_.insert(std::pair<size_t, Symbol>(i.second, i.first)); | ||||
|         for (auto i = primOpCalls_.rbegin(); i != primOpCalls_.rend(); ++i) | ||||
|             printMsg(v, format("%1$10d %2%") % i->first % i->second); | ||||
| 
 | ||||
|         printMsg(v, format("calls to %1% functions:") % functionCalls.size()); | ||||
|         typedef std::multimap<unsigned int, ExprLambda *> FunctionCalls_; | ||||
|         typedef std::multimap<size_t, ExprLambda *> FunctionCalls_; | ||||
|         FunctionCalls_ functionCalls_; | ||||
|         for (auto & i : functionCalls) | ||||
|             functionCalls_.insert(std::pair<unsigned int, ExprLambda *>(i.second, i.first)); | ||||
|             functionCalls_.insert(std::pair<size_t, ExprLambda *>(i.second, i.first)); | ||||
|         for (auto i = functionCalls_.rbegin(); i != functionCalls_.rend(); ++i) | ||||
|             printMsg(v, format("%1$10d %2%") % i->first % i->second->showNamePos()); | ||||
| 
 | ||||
|         printMsg(v, format("evaluations of %1% attributes:") % attrSelects.size()); | ||||
|         typedef std::multimap<unsigned int, Pos> AttrSelects_; | ||||
|         typedef std::multimap<size_t, Pos> AttrSelects_; | ||||
|         AttrSelects_ attrSelects_; | ||||
|         for (auto & i : attrSelects) | ||||
|             attrSelects_.insert(std::pair<unsigned int, Pos>(i.second, i.first)); | ||||
|             attrSelects_.insert(std::pair<size_t, Pos>(i.second, i.first)); | ||||
|         for (auto i = attrSelects_.rbegin(); i != attrSelects_.rend(); ++i) | ||||
|             printMsg(v, format("%1$10d %2%") % i->first % i->second); | ||||
| 
 | ||||
|  | @ -1810,7 +1811,7 @@ size_t valueSize(Value & v) | |||
|             if (seen.find(v.listElems()) == seen.end()) { | ||||
|                 seen.insert(v.listElems()); | ||||
|                 sz += v.listSize() * sizeof(Value *); | ||||
|                 for (unsigned int n = 0; n < v.listSize(); ++n) | ||||
|                 for (size_t n = 0; n < v.listSize(); ++n) | ||||
|                     sz += doValue(*v.listElems()[n]); | ||||
|             } | ||||
|             break; | ||||
|  | @ -1846,7 +1847,7 @@ size_t valueSize(Value & v) | |||
| 
 | ||||
|         size_t sz = sizeof(Env) + sizeof(Value *) * env.size; | ||||
| 
 | ||||
|         for (unsigned int i = 0; i < env.size; ++i) | ||||
|         for (size_t i = 0; i < env.size; ++i) | ||||
|             if (env.values[i]) | ||||
|                 sz += doValue(*env.values[i]); | ||||
| 
 | ||||
|  |  | |||
|  | @ -214,7 +214,7 @@ private: | |||
|     Value * addConstant(const string & name, Value & v); | ||||
| 
 | ||||
|     Value * addPrimOp(const string & name, | ||||
|         unsigned int arity, PrimOpFun primOp); | ||||
|         size_t arity, PrimOpFun primOp); | ||||
| 
 | ||||
| public: | ||||
| 
 | ||||
|  | @ -248,18 +248,18 @@ public: | |||
| 
 | ||||
|     /* Allocation primitives. */ | ||||
|     Value * allocValue(); | ||||
|     Env & allocEnv(unsigned int size); | ||||
|     Env & allocEnv(size_t size); | ||||
| 
 | ||||
|     Value * allocAttr(Value & vAttrs, const Symbol & name); | ||||
| 
 | ||||
|     Bindings * allocBindings(Bindings::size_t capacity); | ||||
|     Bindings * allocBindings(size_t capacity); | ||||
| 
 | ||||
|     void mkList(Value & v, unsigned int length); | ||||
|     void mkAttrs(Value & v, unsigned int capacity); | ||||
|     void mkList(Value & v, size_t length); | ||||
|     void mkAttrs(Value & v, size_t capacity); | ||||
|     void mkThunk_(Value & v, Expr * expr); | ||||
|     void mkPos(Value & v, Pos * pos); | ||||
| 
 | ||||
|     void concatLists(Value & v, unsigned int nrLists, Value * * lists, const Pos & pos); | ||||
|     void concatLists(Value & v, size_t nrLists, Value * * lists, const Pos & pos); | ||||
| 
 | ||||
|     /* Print statistics. */ | ||||
|     void printStats(); | ||||
|  | @ -282,15 +282,15 @@ private: | |||
| 
 | ||||
|     bool countCalls; | ||||
| 
 | ||||
|     typedef std::map<Symbol, unsigned int> PrimOpCalls; | ||||
|     typedef std::map<Symbol, size_t> PrimOpCalls; | ||||
|     PrimOpCalls primOpCalls; | ||||
| 
 | ||||
|     typedef std::map<ExprLambda *, unsigned int> FunctionCalls; | ||||
|     typedef std::map<ExprLambda *, size_t> FunctionCalls; | ||||
|     FunctionCalls functionCalls; | ||||
| 
 | ||||
|     void incrFunctionCall(ExprLambda * fun); | ||||
| 
 | ||||
|     typedef std::map<Pos, unsigned int> AttrSelects; | ||||
|     typedef std::map<Pos, size_t> AttrSelects; | ||||
|     AttrSelects attrSelects; | ||||
| 
 | ||||
|     friend struct ExprOpUpdate; | ||||
|  |  | |||
|  | @ -255,7 +255,7 @@ struct ExprWith : Expr | |||
| { | ||||
|     Pos pos; | ||||
|     Expr * attrs, * body; | ||||
|     unsigned int prevWith; | ||||
|     size_t prevWith; | ||||
|     ExprWith(const Pos & pos, Expr * attrs, Expr * body) : pos(pos), attrs(attrs), body(body) { }; | ||||
|     COMMON_METHODS | ||||
| }; | ||||
|  |  | |||
|  | @ -136,8 +136,8 @@ static Expr * stripIndentation(const Pos & pos, SymbolTable & symbols, vector<Ex | |||
|        whitespace-only final lines are not taken into account.  (So | ||||
|        the " " in "\n ''" is ignored, but the " " in "\n foo''" is.) */ | ||||
|     bool atStartOfLine = true; /* = seen only whitespace in the current line */ | ||||
|     unsigned int minIndent = 1000000; | ||||
|     unsigned int curIndent = 0; | ||||
|     size_t minIndent = 1000000; | ||||
|     size_t curIndent = 0; | ||||
|     for (auto & i : es) { | ||||
|         ExprIndStr * e = dynamic_cast<ExprIndStr *>(i); | ||||
|         if (!e) { | ||||
|  | @ -148,7 +148,7 @@ static Expr * stripIndentation(const Pos & pos, SymbolTable & symbols, vector<Ex | |||
|             } | ||||
|             continue; | ||||
|         } | ||||
|         for (unsigned int j = 0; j < e->s.size(); ++j) { | ||||
|         for (size_t j = 0; j < e->s.size(); ++j) { | ||||
|             if (atStartOfLine) { | ||||
|                 if (e->s[j] == ' ') | ||||
|                     curIndent++; | ||||
|  | @ -170,8 +170,8 @@ static Expr * stripIndentation(const Pos & pos, SymbolTable & symbols, vector<Ex | |||
|     /* Strip spaces from each line. */ | ||||
|     vector<Expr *> * es2 = new vector<Expr *>; | ||||
|     atStartOfLine = true; | ||||
|     unsigned int curDropped = 0; | ||||
|     unsigned int n = es.size(); | ||||
|     size_t curDropped = 0; | ||||
|     size_t n = es.size(); | ||||
|     for (vector<Expr *>::iterator i = es.begin(); i != es.end(); ++i, --n) { | ||||
|         ExprIndStr * e = dynamic_cast<ExprIndStr *>(*i); | ||||
|         if (!e) { | ||||
|  | @ -182,7 +182,7 @@ static Expr * stripIndentation(const Pos & pos, SymbolTable & symbols, vector<Ex | |||
|         } | ||||
| 
 | ||||
|         string s2; | ||||
|         for (unsigned int j = 0; j < e->s.size(); ++j) { | ||||
|         for (size_t j = 0; j < e->s.size(); ++j) { | ||||
|             if (atStartOfLine) { | ||||
|                 if (e->s[j] == ' ') { | ||||
|                     if (curDropped++ >= minIndent) | ||||
|  |  | |||
|  | @ -69,7 +69,7 @@ public: | |||
|         return Symbol(&*res.first); | ||||
|     } | ||||
| 
 | ||||
|     unsigned int size() const | ||||
|     size_t size() const | ||||
|     { | ||||
|         return symbols.size(); | ||||
|     } | ||||
|  |  | |||
|  | @ -128,7 +128,7 @@ struct Value | |||
|         const char * path; | ||||
|         Bindings * attrs; | ||||
|         struct { | ||||
|             unsigned int size; | ||||
|             size_t size; | ||||
|             Value * * elems; | ||||
|         } bigList; | ||||
|         Value * smallList[2]; | ||||
|  | @ -166,7 +166,7 @@ struct Value | |||
|         return type == tList1 || type == tList2 ? smallList : bigList.elems; | ||||
|     } | ||||
| 
 | ||||
|     unsigned int listSize() const | ||||
|     size_t listSize() const | ||||
|     { | ||||
|         return type == tList1 ? 1 : type == tList2 ? 2 : bigList.size; | ||||
|     } | ||||
|  |  | |||
|  | @ -30,7 +30,7 @@ static void sigsegvHandler(int signo, siginfo_t * info, void * ctx) | |||
|         if (diff < 0) diff = -diff; | ||||
|         if (diff < 4096) { | ||||
|             char msg[] = "error: stack overflow (possible infinite recursion)\n"; | ||||
|             [[gnu::unused]] int res = write(2, msg, strlen(msg)); | ||||
|             [[gnu::unused]] auto res = write(2, msg, strlen(msg)); | ||||
|             _exit(1); // maybe abort instead?
 | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -842,9 +842,9 @@ private: | |||
|     BuildResult result; | ||||
| 
 | ||||
|     /* The current round, if we're building multiple times. */ | ||||
|     unsigned int curRound = 1; | ||||
|     size_t curRound = 1; | ||||
| 
 | ||||
|     unsigned int nrRounds; | ||||
|     size_t nrRounds; | ||||
| 
 | ||||
|     /* Path registration info from the previous round, if we're
 | ||||
|        building multiple times. Since this contains the hash, it | ||||
|  | @ -1169,7 +1169,7 @@ void DerivationGoal::outputsSubstituted() | |||
|         return; | ||||
|     } | ||||
| 
 | ||||
|     unsigned int nrInvalid = checkPathValidity(false, buildMode == bmRepair).size(); | ||||
|     auto nrInvalid = checkPathValidity(false, buildMode == bmRepair).size(); | ||||
|     if (buildMode == bmNormal && nrInvalid == 0) { | ||||
|         done(BuildResult::Substituted); | ||||
|         return; | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ namespace nix { | |||
| static unsigned int refLength = 32; /* characters */ | ||||
| 
 | ||||
| 
 | ||||
| static void search(const unsigned char * s, unsigned int len, | ||||
| static void search(const unsigned char * s, size_t len, | ||||
|     StringSet & hashes, StringSet & seen) | ||||
| { | ||||
|     static bool initialised = false; | ||||
|  | @ -25,7 +25,7 @@ static void search(const unsigned char * s, unsigned int len, | |||
|         initialised = true; | ||||
|     } | ||||
| 
 | ||||
|     for (unsigned int i = 0; i + refLength <= len; ) { | ||||
|     for (size_t i = 0; i + refLength <= len; ) { | ||||
|         int j; | ||||
|         bool match = true; | ||||
|         for (j = refLength - 1; j >= 0; --j) | ||||
|  | @ -73,7 +73,7 @@ void RefScanSink::operator () (const unsigned char * data, size_t len) | |||
| 
 | ||||
|     search(data, len, hashes, seen); | ||||
| 
 | ||||
|     unsigned int tailLen = len <= refLength ? len : refLength; | ||||
|     size_t tailLen = len <= refLength ? len : refLength; | ||||
|     tail = | ||||
|         string(tail, tail.size() < refLength - tailLen ? 0 : tail.size() - (refLength - tailLen)) + | ||||
|         string((const char *) data + len - tailLen, tailLen); | ||||
|  |  | |||
|  | @ -82,7 +82,7 @@ static string printHash32(const Hash & hash) | |||
|     string s; | ||||
|     s.reserve(len); | ||||
| 
 | ||||
|     for (int n = len - 1; n >= 0; n--) { | ||||
|     for (int n = (int) len - 1; n >= 0; n--) { | ||||
|         unsigned int b = n * 5; | ||||
|         unsigned int i = b / 8; | ||||
|         unsigned int j = b % 8; | ||||
|  |  | |||
|  | @ -227,7 +227,7 @@ inline Sink & operator << (Sink & sink, uint64_t n) | |||
|     buf[4] = (n >> 32) & 0xff; | ||||
|     buf[5] = (n >> 40) & 0xff; | ||||
|     buf[6] = (n >> 48) & 0xff; | ||||
|     buf[7] = (n >> 56) & 0xff; | ||||
|     buf[7] = (unsigned char) (n >> 56) & 0xff; | ||||
|     sink(buf, sizeof(buf)); | ||||
|     return sink; | ||||
| } | ||||
|  | @ -259,7 +259,7 @@ T readNum(Source & source) | |||
|     if (n > std::numeric_limits<T>::max()) | ||||
|         throw SerialisationError("serialised integer %d is too large for type '%s'", n, typeid(T).name()); | ||||
| 
 | ||||
|     return n; | ||||
|     return (T) n; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -28,7 +28,7 @@ void XMLWriter::close() | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| void XMLWriter::indent_(unsigned int depth) | ||||
| void XMLWriter::indent_(size_t depth) | ||||
| { | ||||
|     if (!indent) return; | ||||
|     output << string(depth * 2, ' '); | ||||
|  | @ -75,7 +75,7 @@ void XMLWriter::writeAttrs(const XMLAttrs & attrs) | |||
| { | ||||
|     for (auto & i : attrs) { | ||||
|         output << " " << i.first << "=\""; | ||||
|         for (unsigned int j = 0; j < i.second.size(); ++j) { | ||||
|         for (size_t j = 0; j < i.second.size(); ++j) { | ||||
|             char c = i.second[j]; | ||||
|             if (c == '"') output << """; | ||||
|             else if (c == '<') output << "<"; | ||||
|  |  | |||
|  | @ -44,7 +44,7 @@ public: | |||
| private: | ||||
|     void writeAttrs(const XMLAttrs & attrs); | ||||
| 
 | ||||
|     void indent_(unsigned int depth); | ||||
|     void indent_(size_t depth); | ||||
| }; | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
|  | @ -198,13 +198,13 @@ static Path getDefNixExprPath() | |||
| } | ||||
| 
 | ||||
| 
 | ||||
| static int getPriority(EvalState & state, DrvInfo & drv) | ||||
| static long getPriority(EvalState & state, DrvInfo & drv) | ||||
| { | ||||
|     return drv.queryMetaInt("priority", 0); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| static int comparePriorities(EvalState & state, DrvInfo & drv1, DrvInfo & drv2) | ||||
| static long comparePriorities(EvalState & state, DrvInfo & drv1, DrvInfo & drv2) | ||||
| { | ||||
|     return getPriority(state, drv2) - getPriority(state, drv1); | ||||
| } | ||||
|  | @ -270,7 +270,7 @@ static DrvInfos filterBySelector(EvalState & state, const DrvInfos & allElems, | |||
| 
 | ||||
|             for (auto & j : matches) { | ||||
|                 DrvName drvName(j.first.queryName()); | ||||
|                 int d = 1; | ||||
|                 long d = 1; | ||||
| 
 | ||||
|                 Newest::iterator k = newest.find(drvName.name); | ||||
| 
 | ||||
|  | @ -578,7 +578,7 @@ static void upgradeDerivations(Globals & globals, | |||
|                             (upgradeType == utEq && d == 0) || | ||||
|                             upgradeType == utAlways) | ||||
|                         { | ||||
|                             int d2 = -1; | ||||
|                             long d2 = -1; | ||||
|                             if (bestElem != availElems.end()) { | ||||
|                                 d2 = comparePriorities(*globals.state, *bestElem, *j); | ||||
|                                 if (d2 == 0) d2 = compareVersions(bestVersion, newName.version); | ||||
|  | @ -784,22 +784,22 @@ typedef list<Strings> Table; | |||
| 
 | ||||
| void printTable(Table & table) | ||||
| { | ||||
|     unsigned int nrColumns = table.size() > 0 ? table.front().size() : 0; | ||||
|     auto nrColumns = table.size() > 0 ? table.front().size() : 0; | ||||
| 
 | ||||
|     vector<unsigned int> widths; | ||||
|     vector<size_t> widths; | ||||
|     widths.resize(nrColumns); | ||||
| 
 | ||||
|     for (auto & i : table) { | ||||
|         assert(i.size() == nrColumns); | ||||
|         Strings::iterator j; | ||||
|         unsigned int column; | ||||
|         size_t column; | ||||
|         for (j = i.begin(), column = 0; j != i.end(); ++j, ++column) | ||||
|             if (j->size() > widths[column]) widths[column] = j->size(); | ||||
|     } | ||||
| 
 | ||||
|     for (auto & i : table) { | ||||
|         Strings::iterator j; | ||||
|         unsigned int column; | ||||
|         size_t column; | ||||
|         for (j = i.begin(), column = 0; j != i.end(); ++j, ++column) { | ||||
|             string s = *j; | ||||
|             replace(s.begin(), s.end(), '\n', ' '); | ||||
|  |  | |||
|  | @ -47,8 +47,7 @@ static string makeNode(const string & id, const string & label, | |||
| static string symbolicName(const string & path) | ||||
| { | ||||
|     string p = baseNameOf(path); | ||||
|     int dash = p.find('-'); | ||||
|     return string(p, dash + 1); | ||||
|     return string(p, p.find('-') + 1); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue