Overview
Comment: | OFStrFTime: Don't use OFASPrintF() |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
ff64ec30f45277178df09526397b7384 |
User & Date: | js on 2023-08-23 13:54:33 |
Other Links: | manifest | tags |
Context
2023-08-23
| ||
15:39 | OFHTTPClient: Don't enable non-blocking mode check-in: 3a8aa96e16 user: js tags: trunk | |
13:54 | OFStrFTime: Don't use OFASPrintF() check-in: ff64ec30f4 user: js tags: trunk | |
12:44 | Add OFStrFTime() consistent with OFStrPTime() check-in: 05d675eb07 user: js tags: trunk | |
Changes
Modified src/OFASPrintF.h from [a88266211f] to [a9b63bfa65].
︙ | ︙ | |||
25 26 27 28 29 30 31 | #import "macros.h" OF_ASSUME_NONNULL_BEGIN #ifdef __cplusplus extern "C" { #endif | < | 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #import "macros.h" OF_ASSUME_NONNULL_BEGIN #ifdef __cplusplus extern "C" { #endif extern int OFVASPrintF( char *_Nullable *_Nonnull, const char *_Nonnull, va_list); #ifdef __cplusplus } #endif OF_ASSUME_NONNULL_END |
Modified src/OFASPrintF.m from [1c0f37cece] to [ebfc63953a].
︙ | ︙ | |||
750 751 752 753 754 755 756 | stringState, formatFlagsState, formatFieldWidthState, formatLengthModifierState, formatConversionSpecifierState }; | < < < < < < < < < < < < < | 750 751 752 753 754 755 756 757 758 759 760 761 762 763 | stringState, formatFlagsState, formatFieldWidthState, formatLengthModifierState, formatConversionSpecifierState }; int OFVASPrintF(char **string, const char *format, va_list arguments) { struct Context ctx; ctx.format = format; ctx.formatLen = strlen(format); |
︙ | ︙ |
Modified src/OFStrFTime.m from [48d4c4eaa5] to [6b4b50f001].
︙ | ︙ | |||
11 12 13 14 15 16 17 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" | < < | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | * Public License, either version 2 or 3, which can be found in the file * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #include "config.h" #include <string.h> #include <time.h> #import "OFStrFTime.h" #import "macros.h" static const char weekDays[7][4] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" }; static const char monthNames[12][4] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", |
︙ | ︙ | |||
59 60 61 62 63 64 65 | buffer[j++] = format[i]; } break; case stateInConversionSpecifier:; const char *appendFormat; unsigned int value = 0; | | | 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | buffer[j++] = format[i]; } break; case stateInConversionSpecifier:; const char *appendFormat; unsigned int value = 0; char append[5]; int appendLen; switch (format[i]) { case '%': appendFormat = "%%"; break; case 'a': |
︙ | ︙ | |||
137 138 139 140 141 142 143 | value = (value / 60) * 100 + (value % 60); break; default: return 0; } | > | | > | < < < | 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 | value = (value / 60) * 100 + (value % 60); break; default: return 0; } appendLen = snprintf(append, sizeof(append), appendFormat, value); if (appendLen < 0 || (size_t)appendLen >= sizeof(append)) return 0; if (bufferLen - j < (size_t)appendLen) return 0; memcpy(buffer + j, append, appendLen); j += appendLen; state = stateSearchConversionSpecifier; } } if (j >= bufferLen) return 0; buffer[j] = 0; return j; } |