diff --git a/Doxyfile b/Doxyfile index 1ae80b3..5978ec6 100644 --- a/Doxyfile +++ b/Doxyfile @@ -48,7 +48,7 @@ PROJECT_NAME = libbasen # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = v1.0.2 +PROJECT_NUMBER = v1.0.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff --git a/Makefile b/Makefile index 77bf9be..b309bad 100644 --- a/Makefile +++ b/Makefile @@ -59,8 +59,6 @@ DIRS =\ ${OBJDIR}\ ${OBJDIR}/hash\ ${LIBDIR}\ - doc\ - cov build: library tools @@ -91,10 +89,10 @@ ${OBJDIR}/%${-g}-cov.o: ${SRCDIR}/%.cpp ${INCDIR}/${LIB}/%.hpp ${CC} -o $@ -c $< -I${INCDIR} ${-l} ${CFLAGS} --coverage ${BINDIR}/%${-g}-cov: ${TESTDIR}/%.cpp ${patsubst %, ${OBJDIR}/%${-g}-cov.o, ${OBJS}} - ${CC} -o $@ $^ -I${INCDIR} ${-l} -lgtest ${CFLAGS} --coverage + ${CC} -o $@ $^ -I${INCDIR} ${-l} -lgtest -lgcov ${CFLAGS} clean: - rm -rf ${DIRS} + rm -rf ${DIRS} doc cov ifneq (${OBJS},) diff --git a/src/base64.cpp b/src/base64.cpp index e00972b..0d20bb4 100644 --- a/src/base64.cpp +++ b/src/base64.cpp @@ -85,7 +85,7 @@ namespace base64 case 2: str[last_idx] = digits[data[data_size - 2] >> 2]; str[last_idx + 1] = digits[(data[data_size - 2] << 4 | data[data_size - 1] >> 4) & 0x3F]; - str[last_idx + 2] = digits[data[data_size - 1] & 0x0F]; + str[last_idx + 2] = digits[data[data_size - 1] << 2 & 0x3F]; str[last_idx + 3] = '='; break; default: diff --git a/test/test-base64.cpp b/test/test-base64.cpp index 92d2316..680d788 100644 --- a/test/test-base64.cpp +++ b/test/test-base64.cpp @@ -21,8 +21,8 @@ TEST(base64, isValid) std::vector> tests = { {"", ""}, {"BKUEpQ==", "04a504a5"}, - {"BKUEpQA=", "04a504a500"}, - {"BKUEpQAA", "04a504a50000"}, + {"aGVsbG8=", "68656c6c6f"}, + {"aGVsbG9v", "68656c6c6f6f"}, }; TEST(base64, encode) { @@ -49,7 +49,7 @@ TEST(base64, decode) EXPECT_THROW(decode("FFF", 3, data.data(), data.size()), std::logic_error); EXPECT_THROW(decode("!@#!", 4, data.data(), data.size()), std::logic_error); EXPECT_THROW(decode("FF==", 2, data.data(), 0), std::length_error); - EXPECT_NO_THROW(decode("" , 0, data.data(), 0)); + EXPECT_NO_THROW(decode("", 0, data.data(), 0)); } TEST(base64, decode_1e7) {