diff options
Diffstat (limited to 'main/e2fsprogs/0001-implement-com_right_r.patch')
-rw-r--r-- | main/e2fsprogs/0001-implement-com_right_r.patch | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/main/e2fsprogs/0001-implement-com_right_r.patch b/main/e2fsprogs/0001-implement-com_right_r.patch new file mode 100644 index 0000000000..dc285d9acd --- /dev/null +++ b/main/e2fsprogs/0001-implement-com_right_r.patch @@ -0,0 +1,59 @@ +From 527d258d605e5a1dd841bccc6091c0b894a10411 Mon Sep 17 00:00:00 2001 +From: Natanael Copa <ncopa@alpinelinux.org> +Date: Wed, 27 Jan 2010 16:02:08 +0000 +Subject: [PATCH] implement com_right_r() + +For heimdal compat +--- + lib/et/com_err.h | 2 ++ + lib/et/com_right.c | 14 ++++++++++++++ + 2 files changed, 16 insertions(+), 0 deletions(-) + +diff --git a/lib/et/com_err.h b/lib/et/com_err.h +index de0146e..eb2106f 100644 +--- a/lib/et/com_err.h ++++ b/lib/et/com_err.h +@@ -16,6 +16,7 @@ + #define COM_ERR_ATTR(x) + #endif + ++#include <stddef.h> + #include <stdarg.h> + + typedef long errcode_t; +@@ -49,6 +50,7 @@ extern void add_to_error_table(struct et_list *new_table); + + /* Provided for Heimdall compatibility */ + extern const char *com_right(struct et_list *list, long code); ++extern const char *com_right_r(struct et_list *list, long code, char *str, size_t len); + extern void initialize_error_table_r(struct et_list **list, + const char **messages, + int num_errors, +diff --git a/lib/et/com_right.c b/lib/et/com_right.c +index 173fd1a..dbc1e41 100644 +--- a/lib/et/com_right.c ++++ b/lib/et/com_right.c +@@ -55,6 +55,20 @@ com_right(struct et_list *list, long code) + return NULL; + } + ++const char * ++com_right_r(struct et_list *list, long code, char *str, size_t len) ++{ ++ struct et_list *p; ++ for (p = list; p; p = p->next) { ++ if (code >= p->table->base && code < p->table->base + p->table->n_msgs) { ++ strlcpy(str, p->table->msgs[code - p->table->base], len); ++ return str; ++ } ++ } ++ return NULL; ++} ++ ++ + struct foobar { + struct et_list etl; + struct error_table tab; +-- +1.6.6.1 + |