MCPcopy Index your code
hub / github.com/RsyncProject/rsync / poptSaveLong

Function poptSaveLong

popt/popt.c:968–991  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

966}
967
968int poptSaveLong(long * arg, unsigned int argInfo, long aLong)
969{
970 /* XXX Check alignment, may fail on funky platforms. */
971 if (arg == NULL || (((unsigned long)arg) & (ALIGNOF(*arg)-1)))
972 return POPT_ERROR_NULLARG;
973
974 if (aLong != 0 && LF_ISSET(RANDOM)) {
975 aLong = (long)poptRandomValue(aLong);
976 if (aLong < 0)
977 return aLong;
978 }
979 if (LF_ISSET(NOT))
980 aLong = ~aLong;
981 switch (LF_ISSET(LOGICALOPS)) {
982 case 0: *arg = aLong; break;
983 case POPT_ARGFLAG_OR: *(unsigned long *)arg |= (unsigned long)aLong; break;
984 case POPT_ARGFLAG_AND: *(unsigned long *)arg &= (unsigned long)aLong; break;
985 case POPT_ARGFLAG_XOR: *(unsigned long *)arg ^= (unsigned long)aLong; break;
986 default:
987 return POPT_ERROR_BADOPERATION;
988 break;
989 }
990 return 0;
991}
992
993int poptSaveInt(int * arg, unsigned int argInfo, long aLong)
994{

Callers 1

poptSaveArgFunction · 0.85

Calls 1

poptRandomValueFunction · 0.85

Tested by

no test coverage detected