summaryrefslogtreecommitdiff
path: root/core/fxcodec/codec
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcodec/codec')
-rw-r--r--core/fxcodec/codec/fx_codec.cpp102
-rw-r--r--core/fxcodec/codec/fx_codec_png.cpp2
2 files changed, 1 insertions, 103 deletions
diff --git a/core/fxcodec/codec/fx_codec.cpp b/core/fxcodec/codec/fx_codec.cpp
index f0f03ab0e9..997d61f25b 100644
--- a/core/fxcodec/codec/fx_codec.cpp
+++ b/core/fxcodec/codec/fx_codec.cpp
@@ -84,108 +84,6 @@ FX_BOOL CCodec_BasicModule::RunLengthEncode(const uint8_t* src_buf,
return FALSE;
}
-#define EXPONENT_DETECT(ptr) \
- for (;; ptr++) { \
- if (!std::isdigit(*ptr)) { \
- if (endptr) \
- *endptr = (char*)ptr; \
- break; \
- } else { \
- exp_ret *= 10; \
- exp_ret += FXSYS_toDecimalDigit(*ptr); \
- continue; \
- } \
- }
-
-extern "C" double FXstrtod(const char* nptr, char** endptr) {
- double ret = 0.0;
- const char* ptr = nptr;
- const char* exp_ptr = NULL;
- int e_number = 0, e_signal = 0, e_point = 0, is_negative = 0;
- int exp_ret = 0, exp_sig = 1, fra_ret = 0, fra_count = 0, fra_base = 1;
- if (!nptr) {
- return 0.0;
- }
- for (;; ptr++) {
- if (!e_number && !e_point && (*ptr == '\t' || *ptr == ' '))
- continue;
-
- if (std::isdigit(*ptr)) {
- if (!e_number)
- e_number = 1;
-
- if (!e_point) {
- ret *= 10;
- ret += FXSYS_toDecimalDigit(*ptr);
- } else {
- fra_count++;
- fra_ret *= 10;
- fra_ret += FXSYS_toDecimalDigit(*ptr);
- }
- continue;
- }
- if (!e_point && *ptr == '.') {
- e_point = 1;
- continue;
- }
- if (!e_number && !e_point && !e_signal) {
- switch (*ptr) {
- case '-':
- is_negative = 1;
- case '+':
- e_signal = 1;
- continue;
- }
- }
- if (e_number && (*ptr == 'e' || *ptr == 'E')) {
- exp_ptr = ptr++;
- if (*ptr == '+' || *ptr == '-') {
- exp_sig = (*ptr++ == '+') ? 1 : -1;
- if (!std::isdigit(*ptr)) {
- if (endptr) {
- *endptr = (char*)exp_ptr;
- }
- break;
- }
- EXPONENT_DETECT(ptr);
- } else if (std::isdigit(*ptr)) {
- EXPONENT_DETECT(ptr);
- } else {
- if (endptr) {
- *endptr = (char*)exp_ptr;
- }
- break;
- }
- break;
- }
- if (ptr != nptr && !e_number) {
- if (endptr) {
- *endptr = (char*)nptr;
- }
- break;
- }
- if (endptr) {
- *endptr = (char*)ptr;
- }
- break;
- }
- while (fra_count--) {
- fra_base *= 10;
- }
- ret += (double)fra_ret / (double)fra_base;
- if (exp_sig == 1) {
- while (exp_ret--) {
- ret *= 10.0;
- }
- } else {
- while (exp_ret--) {
- ret /= 10.0;
- }
- }
- return is_negative ? -ret : ret;
-}
-#undef EXPONENT_DETECT
-
FX_BOOL CCodec_BasicModule::A85Encode(const uint8_t* src_buf,
uint32_t src_size,
uint8_t*& dest_buf,
diff --git a/core/fxcodec/codec/fx_codec_png.cpp b/core/fxcodec/codec/fx_codec_png.cpp
index 61d4cebdbb..f7b922973e 100644
--- a/core/fxcodec/codec/fx_codec_png.cpp
+++ b/core/fxcodec/codec/fx_codec_png.cpp
@@ -56,7 +56,7 @@ static void _png_load_bmp_attribute(png_structp png_ptr,
if (t) {
FXSYS_memset(pAttribute->m_strTime, 0, sizeof(pAttribute->m_strTime));
FXSYS_snprintf((FX_CHAR*)pAttribute->m_strTime,
- sizeof(pAttribute->m_strTime), "%4d:%2d:%2d %2d:%2d:%2d",
+ sizeof(pAttribute->m_strTime), "%4u:%2u:%2u %2u:%2u:%2u",
t->year, t->month, t->day, t->hour, t->minute, t->second);
pAttribute->m_strTime[sizeof(pAttribute->m_strTime) - 1] = 0;
bTime = 1;