diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-generic/bug.h | 7 | ||||
-rw-r--r-- | include/linux/nls.h | 19 |
2 files changed, 23 insertions, 3 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index e727fe0d1451..4b6755984d24 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h | |||
@@ -58,12 +58,13 @@ struct bug_entry { | |||
58 | */ | 58 | */ |
59 | #ifndef __WARN | 59 | #ifndef __WARN |
60 | #ifndef __ASSEMBLY__ | 60 | #ifndef __ASSEMBLY__ |
61 | extern void warn_slowpath(const char *file, const int line, | 61 | extern void warn_slowpath_fmt(const char *file, const int line, |
62 | const char *fmt, ...) __attribute__((format(printf, 3, 4))); | 62 | const char *fmt, ...) __attribute__((format(printf, 3, 4))); |
63 | extern void warn_slowpath_null(const char *file, const int line); | ||
63 | #define WANT_WARN_ON_SLOWPATH | 64 | #define WANT_WARN_ON_SLOWPATH |
64 | #endif | 65 | #endif |
65 | #define __WARN() warn_slowpath(__FILE__, __LINE__, NULL) | 66 | #define __WARN() warn_slowpath_null(__FILE__, __LINE__) |
66 | #define __WARN_printf(arg...) warn_slowpath(__FILE__, __LINE__, arg) | 67 | #define __WARN_printf(arg...) warn_slowpath_fmt(__FILE__, __LINE__, arg) |
67 | #else | 68 | #else |
68 | #define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) | 69 | #define __WARN_printf(arg...) do { printk(arg); __WARN(); } while (0) |
69 | #endif | 70 | #endif |
diff --git a/include/linux/nls.h b/include/linux/nls.h index 6a882208301a..52b1a76c1b43 100644 --- a/include/linux/nls.h +++ b/include/linux/nls.h | |||
@@ -58,6 +58,25 @@ static inline int nls_strnicmp(struct nls_table *t, const unsigned char *s1, | |||
58 | return 0; | 58 | return 0; |
59 | } | 59 | } |
60 | 60 | ||
61 | /* | ||
62 | * nls_nullsize - return length of null character for codepage | ||
63 | * @codepage - codepage for which to return length of NULL terminator | ||
64 | * | ||
65 | * Since we can't guarantee that the null terminator will be a particular | ||
66 | * length, we have to check against the codepage. If there's a problem | ||
67 | * determining it, assume a single-byte NULL terminator. | ||
68 | */ | ||
69 | static inline int | ||
70 | nls_nullsize(const struct nls_table *codepage) | ||
71 | { | ||
72 | int charlen; | ||
73 | char tmp[NLS_MAX_CHARSET_SIZE]; | ||
74 | |||
75 | charlen = codepage->uni2char(0, tmp, NLS_MAX_CHARSET_SIZE); | ||
76 | |||
77 | return charlen > 0 ? charlen : 1; | ||
78 | } | ||
79 | |||
61 | #define MODULE_ALIAS_NLS(name) MODULE_ALIAS("nls_" __stringify(name)) | 80 | #define MODULE_ALIAS_NLS(name) MODULE_ALIAS("nls_" __stringify(name)) |
62 | 81 | ||
63 | #endif /* _LINUX_NLS_H */ | 82 | #endif /* _LINUX_NLS_H */ |