summaryrefslogtreecommitdiffstats
path: root/source/rpc_parse/parse_spoolss.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2000-05-12 14:28:48 +0000
committerJeremy Allison <jra@samba.org>2000-05-12 14:28:48 +0000
commiteefbfb5e16fcf40f335edc840a49f837f6b64111 (patch)
tree6875c4eefffc77189b9592b233c078268583b267 /source/rpc_parse/parse_spoolss.c
parent974813f0d4afb6c14ed27c48ab24b19932557f9f (diff)
downloadsamba-eefbfb5e16fcf40f335edc840a49f837f6b64111.tar.gz
samba-eefbfb5e16fcf40f335edc840a49f837f6b64111.tar.xz
samba-eefbfb5e16fcf40f335edc840a49f837f6b64111.zip
Added unicode_to_dos_char() function to address converting single UNICODE
characters to one or more DOS codepage characters. Jeremy.
Diffstat (limited to 'source/rpc_parse/parse_spoolss.c')
-rw-r--r--source/rpc_parse/parse_spoolss.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/source/rpc_parse/parse_spoolss.c b/source/rpc_parse/parse_spoolss.c
index 62dbc162774..987ae42ff4e 100644
--- a/source/rpc_parse/parse_spoolss.c
+++ b/source/rpc_parse/parse_spoolss.c
@@ -3718,12 +3718,12 @@ BOOL spool_io_printer_driver_info_level_6(char *desc, SPOOL_PRINTER_DRIVER_INFO_
convert a buffer of UNICODE strings null terminated
the buffer is terminated by a NULL
- convert to an ascii array (null terminated)
+ convert to an dos codepage array (null terminated)
dynamically allocate memory
********************************************************************/
-BOOL uniarray_2_ascarray(BUFFER5 *buf5, char ***ar)
+static BOOL uniarray_2_dosarray(BUFFER5 *buf5, char ***ar)
{
char **array;
char *string;
@@ -3750,7 +3750,7 @@ BOOL uniarray_2_ascarray(BUFFER5 *buf5, char ***ar)
while (dest < destend)
{
- *(dest++) = (char)*(src++);
+ dest += unicode_to_dos_char(dest, (smb_ucs2_t)*(src++));
}
/* that ugly for the first one but that's working */
@@ -3912,7 +3912,7 @@ BOOL uni_2_asc_printer_driver_3(SPOOL_PRINTER_DRIVER_INFO_LEVEL_3 *uni,
DEBUGADD(8,( "monitorname: %s\n", d->monitorname));
DEBUGADD(8,( "defaultdatatype: %s\n", d->defaultdatatype));
- uniarray_2_ascarray(&(uni->dependentfiles), &(d->dependentfiles) );
+ uniarray_2_dosarray(&(uni->dependentfiles), &(d->dependentfiles) );
return True;
}