From c7b9757b8ac3ac6baa478655a4d2f77dff8240a8 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 2 Mar 2009 04:12:57 +0100 Subject: Import ISO-8859-1, 646 from Samba 3 iconv. --- lib/util/charset/iconv.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'lib/util') diff --git a/lib/util/charset/iconv.c b/lib/util/charset/iconv.c index 98284ce9bd..9825e4be01 100644 --- a/lib/util/charset/iconv.c +++ b/lib/util/charset/iconv.c @@ -50,6 +50,7 @@ static size_t ascii_pull (void *,const char **, size_t *, char **, size_t *); static size_t ascii_push (void *,const char **, size_t *, char **, size_t *); +static size_t latin1_push (void *,const char **, size_t *, char **, size_t *); static size_t utf8_pull (void *,const char **, size_t *, char **, size_t *); static size_t utf8_push (void *,const char **, size_t *, char **, size_t *); static size_t utf16_munged_pull(void *,const char **, size_t *, char **, size_t *); @@ -73,6 +74,8 @@ static const struct charset_functions builtin_functions[] = { {"UTF16_MUNGED", utf16_munged_pull, iconv_copy}, {"ASCII", ascii_pull, ascii_push}, + {"646", ascii_pull, ascii_push}, + {"ISO-8859-1", ascii_pull, latin1_push}, {"UCS2-HEX", ucs2hex_pull, ucs2hex_push} }; @@ -341,6 +344,32 @@ static size_t ascii_push(void *cd, const char **inbuf, size_t *inbytesleft, return ir_count; } +static size_t latin1_push(void *cd, const char **inbuf, size_t *inbytesleft, + char **outbuf, size_t *outbytesleft) +{ + int ir_count=0; + + while (*inbytesleft >= 2 && *outbytesleft >= 1) { + (*outbuf)[0] = (*inbuf)[0]; + if ((*inbuf)[1]) ir_count++; + (*inbytesleft) -= 2; + (*outbytesleft) -= 1; + (*inbuf) += 2; + (*outbuf) += 1; + } + + if (*inbytesleft == 1) { + errno = EINVAL; + return -1; + } + + if (*inbytesleft > 1) { + errno = E2BIG; + return -1; + } + + return ir_count; +} static size_t ucs2hex_pull(void *cd, const char **inbuf, size_t *inbytesleft, char **outbuf, size_t *outbytesleft) -- cgit From b00204a46153a406a6c63792b1939bd3ad74ba71 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Tue, 3 Mar 2009 18:03:57 +0100 Subject: lib/util: remove samba specific talloc_get_type_abort() metze --- lib/util/util.c | 15 --------------- lib/util/util.h | 7 ------- 2 files changed, 22 deletions(-) (limited to 'lib/util') diff --git a/lib/util/util.c b/lib/util/util.c index 1f31f55e8b..0148bdb00d 100644 --- a/lib/util/util.c +++ b/lib/util/util.c @@ -541,21 +541,6 @@ void *malloc_array(size_t el_size, unsigned int count) return realloc_array(NULL, el_size, count, false); } -_PUBLIC_ void *talloc_check_name_abort(const void *ptr, const char *name) -{ - void *result; - - result = talloc_check_name(ptr, name); - if (result != NULL) - return result; - - DEBUG(0, ("Talloc type mismatch, expected %s, got %s\n", - name, talloc_get_name(ptr))); - smb_panic("talloc type mismatch"); - /* Keep the compiler happy */ - return NULL; -} - /** Trim the specified elements off the front and back of a string. **/ diff --git a/lib/util/util.h b/lib/util/util.h index 1f6e3b193b..defef127d9 100644 --- a/lib/util/util.h +++ b/lib/util/util.h @@ -767,13 +767,6 @@ bool pm_process( const char *fileName, bool (*pfunc)(const char *, const char *, void *), void *userdata); -/** - * Add-on to talloc_get_type - */ -_PUBLIC_ void *talloc_check_name_abort(const void *ptr, const char *name); -#define talloc_get_type_abort(ptr, type) \ - (type *)talloc_check_name_abort(ptr, #type) - bool unmap_file(void *start, size_t size); void print_asc(int level, const uint8_t *buf,int len); -- cgit From f992416e23c9baf0e20848ff3c12fcafe1d492aa Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 8 Mar 2009 06:57:52 +0100 Subject: Revert accidental reintroduction of void ** bug. --- lib/util/charset/charcnv.c | 6 ++++-- lib/util/charset/charset.h | 6 +++--- 2 files changed, 7 insertions(+), 5 deletions(-) (limited to 'lib/util') diff --git a/lib/util/charset/charcnv.c b/lib/util/charset/charcnv.c index 258730ec82..94d47a9f7f 100644 --- a/lib/util/charset/charcnv.c +++ b/lib/util/charset/charcnv.c @@ -169,9 +169,10 @@ static smb_iconv_t get_conv_handle(struct smb_iconv_convenience *ic, _PUBLIC_ ssize_t iconv_talloc(TALLOC_CTX *ctx, smb_iconv_t cd, void const *src, size_t srclen, - void **dest) + void *dst) { size_t i_len, o_len, destlen; + void **dest = (void **)dst; size_t retval; const char *inbuf = (const char *)src; char *outbuf, *ob; @@ -314,9 +315,10 @@ _PUBLIC_ bool convert_string_talloc_convenience(TALLOC_CTX *ctx, struct smb_iconv_convenience *ic, charset_t from, charset_t to, void const *src, size_t srclen, - void **dest, size_t *converted_size, + void *dst, size_t *converted_size, bool allow_badcharcnv) { + void **dest = (void **)dst; smb_iconv_t descriptor; ssize_t ret; diff --git a/lib/util/charset/charset.h b/lib/util/charset/charset.h index 655bae7bcd..37c5acafaf 100644 --- a/lib/util/charset/charset.h +++ b/lib/util/charset/charset.h @@ -136,7 +136,7 @@ ssize_t pull_string(char *dest, const void *src, size_t dest_len, size_t src_len bool convert_string_talloc(TALLOC_CTX *ctx, charset_t from, charset_t to, void const *src, size_t srclen, - void **dest, size_t *converted_size, + void *dest, size_t *converted_size, bool allow_badcharcnv); size_t convert_string(charset_t from, charset_t to, @@ -146,7 +146,7 @@ size_t convert_string(charset_t from, charset_t to, ssize_t iconv_talloc(TALLOC_CTX *mem_ctx, smb_iconv_t cd, void const *src, size_t srclen, - void **dest); + void *dest); extern struct smb_iconv_convenience *global_iconv_convenience; @@ -176,7 +176,7 @@ bool convert_string_talloc_convenience(TALLOC_CTX *ctx, struct smb_iconv_convenience *ic, charset_t from, charset_t to, void const *src, size_t srclen, - void **dest, size_t *converted_size, bool allow_badcharcnv); + void *dest, size_t *converted_size, bool allow_badcharcnv); /* iconv */ smb_iconv_t smb_iconv_open(const char *tocode, const char *fromcode); int smb_iconv_close(smb_iconv_t cd); -- cgit From 218ce0e80532b0dbc595e72502d9596a35acdffd Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 9 Mar 2009 21:49:44 +0100 Subject: Fix prototype mismatch. --- lib/util/charset/util_unistr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/util') diff --git a/lib/util/charset/util_unistr.c b/lib/util/charset/util_unistr.c index ec88e784d0..ea2bfeab9f 100644 --- a/lib/util/charset/util_unistr.c +++ b/lib/util/charset/util_unistr.c @@ -978,7 +978,7 @@ _PUBLIC_ size_t convert_string(charset_t from, charset_t to, _PUBLIC_ bool convert_string_talloc(TALLOC_CTX *ctx, charset_t from, charset_t to, void const *src, size_t srclen, - void **dest, size_t *converted_size, + void *dest, size_t *converted_size, bool allow_badcharcnv) { return convert_string_talloc_convenience(ctx, get_iconv_convenience(), -- cgit From 7972d82436f5d93606fb538be180250f2f28de6b Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 15 Mar 2009 00:54:55 +0100 Subject: Remove -L/usr/lib from a couple more make variables. --- lib/util/fault.m4 | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/util') diff --git a/lib/util/fault.m4 b/lib/util/fault.m4 index da077af31d..bac553a158 100644 --- a/lib/util/fault.m4 +++ b/lib/util/fault.m4 @@ -8,6 +8,7 @@ if test x"$ac_cv_header_execinfo_h" = x"yes" -a x"$ac_cv_func_ext_backtrace" = x EXECINFO_CFLAGS="$CFLAGS" EXECINFO_CPPFLAGS="$CPPFLAGS" EXECINFO_LDFLAGS="$LDFLAGS" + LIB_REMOVE_USR_LIB(EXECINFO_LDFLAGS) else SMB_ENABLE(EXECINFO,NO) fi -- cgit From b69e72dedac5792d8c191850ea3bd4b3ff976526 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 26 Feb 2009 14:33:52 +0100 Subject: lib/util: build tevent_unix.o and tevent_ntstatus.o as UTIL_TEVENT subsystem metze --- lib/util/config.mk | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib/util') diff --git a/lib/util/config.mk b/lib/util/config.mk index 14bdb2a277..7835fed911 100644 --- a/lib/util/config.mk +++ b/lib/util/config.mk @@ -5,7 +5,7 @@ PUBLIC_DEPENDENCIES = \ CHARSET EXECINFO LIBSAMBA-UTIL_OBJ_FILES = $(addprefix $(libutilsrcdir)/, \ - xfile.o \ + xfile.o \ debug.o \ fault.o \ signal.o \ @@ -68,6 +68,13 @@ PUBLIC_DEPENDENCIES = LIBTDB UTIL_TDB_OBJ_FILES = $(libutilsrcdir)/util_tdb.o +[SUBSYSTEM::UTIL_TEVENT] +PUBLIC_DEPENDENCIES = LIBTEVENT + +UTIL_TEVENT_OBJ_FILES = $(addprefix $(libutilsrcdir)/, \ + tevent_unix.o \ + tevent_ntstatus.o) + [SUBSYSTEM::UTIL_LDB] PUBLIC_DEPENDENCIES = LIBLDB -- cgit