1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-23 09:57:40 +03:00

minor fixes

(This used to be commit 04f492980b73800b60dde764fdeb43f2eab79624)
This commit is contained in:
Simo Sorce 2002-01-25 00:35:14 +00:00
parent ca12d82eaf
commit 114eaabdcb
4 changed files with 15 additions and 12 deletions

View File

@ -6,6 +6,7 @@
Copyright (C) John H Terpstra 1996-2000
Copyright (C) Luke Kenneth Casson Leighton 1996-2000
Copyright (C) Paul Ashton 1998-2000
Copyright (C) Simo Sorce 2001-2002
Copyright (C) Martin Pool 2002
This program is free software; you can redistribute it and/or modify
@ -386,10 +387,8 @@ typedef struct write_cache
typedef struct
{
smb_ucs2_t *path;
smb_ucs2_t *name;
smb_ucs2_t *unixname;
smb_ucs2_t *dosname;
smb_ucs2_t *origname;
smb_ucs2_t *filename;
SMB_STRUCT_STAT *statinfo;
} smb_filename;

View File

@ -449,13 +449,14 @@ smb_ucs2_t *unix_clean_path(const smb_ucs2_t *s)
/* reduce any /../ */
t = ns;
while ((r = strstr_wa(t, "/.."))) {
while (*t && (r = strstr_wa(t, "/.."))) {
t = &(r[3]);
if (*t == UCS2_CHAR('/') || *t == 0) {
*r = 0;
p = strrchr_w(ns, UCS2_CHAR('/'));
if (!p) p = ns;
memmove(p, t, (strlen_w(t) + 1) * sizeof(smb_ucs2_t));
if (*t == 0) *p = 0;
else memmove(p, t, (strlen_w(t) + 1) * sizeof(smb_ucs2_t));
t = p;
}
}

View File

@ -3,6 +3,7 @@
Version 3.0
Samba utility functions
Copyright (C) Andrew Tridgell 1992-2001
Copyright (C) Simo Sorce 2001-2002
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -749,8 +750,8 @@ len is the number of bytes, not chars
if len==0 then no length check is performed
****************************************************************************/
smb_ucs2_t *all_string_sub_w(smb_ucs2_t *s, const smb_ucs2_t *pattern,
const smb_ucs2_t *insert)
smb_ucs2_t *all_string_sub_w(const smb_ucs2_t *s, const smb_ucs2_t *pattern,
const smb_ucs2_t *insert)
{
smb_ucs2_t *r, *rp, *sp;
size_t lr, lp, li, lt;
@ -951,7 +952,7 @@ int pstr_sprintf(pstring s, const char *fmt, ...)
}
/* Just a typesafety wrapper for snprintf into a pstring */
/* Just a typesafety wrapper for snprintf into a fstring */
int fstr_sprintf(fstring s, const char *fmt, ...)
{
va_list ap;

View File

@ -538,16 +538,18 @@ done:
BOOL is_8_3(const char *fname, BOOL check_case)
{
char *f;
smb_ucs2_t *ucs2name;
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
if (!fname || !*fname) return False;
if ((f = strrchr(fname, '/')) == NULL) f = fname;
DEBUG(10,("is_8_3: testing [%s]\n", fname));
DEBUG(10,("is_8_3: testing [%s]\n", f));
if (strlen(fname) > 12) return False;
if (strlen(f) > 12) return False;
ucs2name = acnv_uxu2(fname);
ucs2name = acnv_uxu2(f);
if (!ucs2name)
{
DEBUG(0,("is_8_3: out of memory!\n"));