##// END OF EJS Templates
phabricator: add a "phabstatus" template keyword...
phabricator: add a "phabstatus" template keyword We add a "phabstatus" template keyword, returning an object with "url" and "status" keys. This is quite similar to "phabreview" template keyword, but it queries phabricator for each specified revision so it's going to be slow (as compared to the "phabstatus" show view from previous changeset). Differential Revision: https://phab.mercurial-scm.org/D7507

File last commit:

r38322:1fb2510c @40 default
r44292:79c01212 default
Show More
bitmanipulation.h
51 lines | 989 B | text/x-c | CLexer
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 #ifndef _HG_BITMANIPULATION_H_
#define _HG_BITMANIPULATION_H_
Martin von Zweigbergk
bitmanipulation: add missing include of string.h...
r32646 #include <string.h>
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 #include "compat.h"
static inline uint32_t getbe32(const char *c)
{
const unsigned char *d = (const unsigned char *)c;
Augie Fackler
bitmanipulation: fix undefined behavior in bit shift in getbe32...
r38322 return ((((uint32_t)d[0]) << 24) | (((uint32_t)d[1]) << 16) |
(((uint32_t)d[2]) << 8) | (d[3]));
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 }
static inline int16_t getbeint16(const char *c)
{
const unsigned char *d = (const unsigned char *)c;
Augie Fackler
bitmanipulation: reformat with clang-format...
r34698 return ((d[0] << 8) | (d[1]));
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 }
static inline uint16_t getbeuint16(const char *c)
{
const unsigned char *d = (const unsigned char *)c;
Augie Fackler
bitmanipulation: reformat with clang-format...
r34698 return ((d[0] << 8) | (d[1]));
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 }
static inline void putbe32(uint32_t x, char *c)
{
c[0] = (x >> 24) & 0xff;
c[1] = (x >> 16) & 0xff;
c[2] = (x >> 8) & 0xff;
Augie Fackler
bitmanipulation: reformat with clang-format...
r34698 c[3] = (x)&0xff;
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 }
static inline double getbefloat64(const char *c)
{
const unsigned char *d = (const unsigned char *)c;
double ret;
int i;
uint64_t t = 0;
for (i = 0; i < 8; i++) {
Augie Fackler
bitmanipulation: reformat with clang-format...
r34698 t = (t << 8) + d[i];
Maciej Fijalkowski
internals: move the bitmanipulation routines into its own file...
r29444 }
memcpy(&ret, &t, sizeof(t));
return ret;
}
#endif