charset: Move vim_str2nr flags from vim.h to charset.h

This commit is contained in:
ZyX
2017-11-06 19:06:24 +03:00
parent 05f775b5f2
commit c85f485aa7
3 changed files with 16 additions and 8 deletions

View File

@@ -1615,7 +1615,7 @@ bool vim_isblankline(char_u *lbuf)
/// hexadecimal, '0' = octal, 'b' or 'B' is binary. When using /// hexadecimal, '0' = octal, 'b' or 'B' is binary. When using
/// STR2NR_FORCE is always zero. /// STR2NR_FORCE is always zero.
/// @param len Returns the detected length of number. /// @param len Returns the detected length of number.
/// @param what Recognizes what number passed. /// @param what Recognizes what number passed, @see ChStr2NrFlags.
/// @param nptr Returns the signed result. /// @param nptr Returns the signed result.
/// @param unptr Returns the unsigned result. /// @param unptr Returns the unsigned result.
/// @param maxlen Max length of string to check. /// @param maxlen Max length of string to check.

View File

@@ -15,6 +15,21 @@
?((int)(uint8_t)(c)) \ ?((int)(uint8_t)(c)) \
:((int)(c))) :((int)(c)))
/// Flags for vim_str2nr()
typedef enum {
STR2NR_DEC = 0,
STR2NR_BIN = (1 << 0), ///< Allow binary numbers.
STR2NR_OCT = (1 << 1), ///< Allow octal numbers.
STR2NR_HEX = (1 << 2), ///< Allow hexadecimal numbers.
/// Force one of the above variants.
///
/// STR2NR_FORCE|STR2NR_DEC is actually not different from supplying zero
/// as flags, but still present for completeness.
STR2NR_FORCE = (1 << 3),
/// Recognize all formats vim_str2nr() can recognize.
STR2NR_ALL = STR2NR_BIN | STR2NR_OCT | STR2NR_HEX,
} ChStr2NrFlags;
#ifdef INCLUDE_GENERATED_DECLARATIONS #ifdef INCLUDE_GENERATED_DECLARATIONS
# include "charset.h.generated.h" # include "charset.h.generated.h"
#endif #endif

View File

@@ -28,13 +28,6 @@
/// length of a buffer to store a number in ASCII (64 bits binary + NUL) /// length of a buffer to store a number in ASCII (64 bits binary + NUL)
enum { NUMBUFLEN = 65 }; enum { NUMBUFLEN = 65 };
// flags for vim_str2nr()
#define STR2NR_BIN 1
#define STR2NR_OCT 2
#define STR2NR_HEX 4
#define STR2NR_ALL (STR2NR_BIN + STR2NR_OCT + STR2NR_HEX)
#define STR2NR_FORCE 8 // only when ONE of the above is used
#define MAX_TYPENR 65535 #define MAX_TYPENR 65535
#define ROOT_UID 0 #define ROOT_UID 0