aboutsummaryrefslogtreecommitdiff
Commit message (Expand)AuthorAge
...
* Auth API: Error when accessed prior to ServerEnv init (#11398)SmallJoker2021-06-30
* Remove unsupported video drivers (#11395)hecks2021-06-30
* Run on_grant and on_revoke callbacks after privs change (#11387)AFCMS2021-06-30
* Inventory: Make addList() consistent (#11382)SmallJoker2021-06-30
* Fix spurious shadow enablement in mainmenusfan52021-06-30
* Use user provided lib/irrlichtmt if available (#11276)NeroBurner2021-06-29
* Require 'basic_debug' priv to view gameplay-relevant debug info, require 'deb...Wuzzy2021-06-24
* Perform some quality assurance for translation strings (#11375)Wuzzy2021-06-23
* Rework Settings to support arbitrary hierarchies (#11352)sfan52021-06-23
* Buildbot: Use posix on Win64 builds if available (#11355)Juozas2021-06-22
* Server: Ignore whitespace-only chat messagesSmallJoker2021-06-22
* Document hypertext escaping (#11374)Wuzzy2021-06-22
* Move build/android directory to root of project (#11283)NeroBurner2021-06-21
* Update builtin locale (#11371)Wuzzy2021-06-21
* Strip carriage returns from lines in settingtypes.txt (#11338)William L. DeRieux IV2021-06-21
* Update Dockerfile and improve build speed (#11313)Bensuperpc2021-06-21
* Fix some typos in builtin (#11370)Wuzzy2021-06-21
* Inventory: show error on invalid list names (#11368)SmallJoker2021-06-20
* Add min_y and max_y checks for Active Block Modifiers (ABM) (#11333)sfence2021-06-20
* Make chat web links clickable (#11092)pecksin2021-06-20
* Add roadmap (#10536)rubenwardy2021-06-17
* Update translation filesupdatepo.sh2021-06-16
* Update minetest.conf.example and dummy translation fileupdatepo.sh2021-06-16
* Translated using Weblate (Chinese (Simplified))Riceball LEE2021-06-16
* Translated using Weblate (Spanish)David Leal2021-06-16
* Translated using Weblate (Esperanto)Tirifto2021-06-16
* Translated using Weblate (Chinese (Traditional))Yiu Man Ho2021-06-16
* Translated using Weblate (Norwegian Bokmål)Allan Nordhøy2021-06-16
* Translated using Weblate (Esperanto)telmo bruno silva seabra2021-06-16
* Translated using Weblate (Marathi)Avyukt More2021-06-16
* Added translation using Weblate (Marathi)Avyukt More2021-06-16
* Translated using Weblate (Russian)Andrei Stepanov2021-06-16
* Translated using Weblate (Ukrainian)Andrij Mizyk2021-06-16
* Translated using Weblate (Romanian)Nicolae Crefelean2021-06-16
* Translated using Weblate (Greek)THANOS SIOURDAKIS2021-06-16
* Added translation using Weblate (Filipino)Gian M2021-06-16
* Translated using Weblate (Hebrew)Omer I.S2021-06-16
* Translated using Weblate (Esperanto)phlostically2021-06-16
* Translated using Weblate (Chinese (Simplified))ferrumcccp2021-06-16
* Translated using Weblate (Spanish)ludemys2021-06-16
* Translated using Weblate (Spanish)David Leal2021-06-16
* Translated using Weblate (Spanish)ludemys2021-06-16
* Translated using Weblate (Lithuanian)Kornelijus Tvarijanavičius2021-06-16
* Translated using Weblate (French)waxtatect2021-06-16
* Translated using Weblate (French)Brian Gaucher2021-06-16
* Translated using Weblate (Finnish)Markus Mikkonen2021-06-16
* Translated using Weblate (Finnish)Tviljan2021-06-16
* Translated using Weblate (Russian)Edward2021-06-16
* Translated using Weblate (Portuguese)ssantos2021-06-16
* Translated using Weblate (French)waxtatect2021-06-16
span class="hl opt">, 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8 }; int l = -1; while (x >= 256) { l += 8; x >>= 8; } return l + log_2[x]; } int luaO_rawequalObj (const TValue *t1, const TValue *t2) { if (ttype(t1) != ttype(t2)) return 0; else switch (ttype(t1)) { case LUA_TNIL: return 1; case LUA_TNUMBER: return luai_numeq(nvalue(t1), nvalue(t2)); case LUA_TBOOLEAN: return bvalue(t1) == bvalue(t2); /* boolean true must be 1 !! */ case LUA_TLIGHTUSERDATA: return pvalue(t1) == pvalue(t2); default: lua_assert(iscollectable(t1)); return gcvalue(t1) == gcvalue(t2); } } int luaO_str2d (const char *s, lua_Number *result) { char *endptr; *result = lua_str2number(s, &endptr); if (endptr == s) return 0; /* conversion failed */ if (*endptr == 'x' || *endptr == 'X') /* maybe an hexadecimal constant? */ *result = cast_num(strtoul(s, &endptr, 16)); if (*endptr == '\0') return 1; /* most common case */ while (isspace(cast(unsigned char, *endptr))) endptr++; if (*endptr != '\0') return 0; /* invalid trailing characters? */ return 1; } static void pushstr (lua_State *L, const char *str) { setsvalue2s(L, L->top, luaS_new(L, str)); incr_top(L); } /* this function handles only `%d', `%c', %f, %p, and `%s' formats */ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) { int n = 1; pushstr(L, ""); for (;;) { const char *e = strchr(fmt, '%'); if (e == NULL) break; setsvalue2s(L, L->top, luaS_newlstr(L, fmt, e-fmt)); incr_top(L); switch (*(e+1)) { case 's': { const char *s = va_arg(argp, char *); if (s == NULL) s = "(null)"; pushstr(L, s); break; } case 'c': { char buff[2]; buff[0] = cast(char, va_arg(argp, int)); buff[1] = '\0'; pushstr(L, buff); break; } case 'd': { setnvalue(L->top, cast_num(va_arg(argp, int))); incr_top(L); break; } case 'f': { setnvalue(L->top, cast_num(va_arg(argp, l_uacNumber))); incr_top(L); break; } case 'p': { char buff[4*sizeof(void *) + 8]; /* should be enough space for a `%p' */ sprintf(buff, "%p", va_arg(argp, void *)); pushstr(L, buff); break; } case '%': { pushstr(L, "%"); break; } default: { char buff[3]; buff[0] = '%'; buff[1] = *(e+1); buff[2] = '\0'; pushstr(L, buff); break; } } n += 2; fmt = e+2; } pushstr(L, fmt); luaV_concat(L, n+1, cast_int(L->top - L->base) - 1); L->top -= n; return svalue(L->top - 1); } const char *luaO_pushfstring (lua_State *L, const char *fmt, ...) { const char *msg; va_list argp; va_start(argp, fmt); msg = luaO_pushvfstring(L, fmt, argp); va_end(argp); return msg; } void luaO_chunkid (char *out, const char *source, size_t bufflen) { if (*source == '=') { strncpy(out, source+1, bufflen); /* remove first char */ out[bufflen-1] = '\0'; /* ensures null termination */ } else { /* out = "source", or "...source" */ if (*source == '@') { size_t l; source++; /* skip the `@' */ bufflen -= sizeof(" '...' "); l = strlen(source); strcpy(out, ""); if (l > bufflen) { source += (l-bufflen); /* get last part of file name */ strcat(out, "..."); } strcat(out, source); } else { /* out = [string "string"] */ size_t len = strcspn(source, "\n\r"); /* stop at first newline */ bufflen -= sizeof(" [string \"...\"] "); if (len > bufflen) len = bufflen; strcpy(out, "[string \""); if (source[len] != '\0') { /* must truncate? */ strncat(out, source, len); strcat(out, "..."); } else strcat(out, source); strcat(out, "\"]"); } } }