svn commit: samba r23571 - in branches: SAMBA_3_0/source/client
SAMBA_3_0_25/source/client SAMBA_3_0_26/source/client
idra at samba.org
idra at samba.org
Thu Jun 21 17:06:02 GMT 2007
Author: idra
Date: 2007-06-21 17:05:59 +0000 (Thu, 21 Jun 2007)
New Revision: 23571
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23571
Log:
Fix, parsing of multi byte share names.
Thanks to SATOH Fumiyasu
Fixes 4720
Jerry,
this is a showstopper for 3.0.25b, please grab it into
SAMBA_3_0_RELEASE before cuting the tarballs.
Simo.
Modified:
branches/SAMBA_3_0/source/client/client.c
branches/SAMBA_3_0_25/source/client/client.c
branches/SAMBA_3_0_26/source/client/client.c
Changeset:
Modified: branches/SAMBA_3_0/source/client/client.c
===================================================================
--- branches/SAMBA_3_0/source/client/client.c 2007-06-21 15:41:19 UTC (rev 23570)
+++ branches/SAMBA_3_0/source/client/client.c 2007-06-21 17:05:59 UTC (rev 23571)
@@ -3970,14 +3970,6 @@
/* if the service has not yet been specified lets see if it is available in the popt stack */
if (!service_opt && poptPeekArg(pc)) {
pstrcpy(service, poptGetArg(pc));
- /* Convert any '/' characters in the service name to '\' characters */
- string_replace(service, '/','\\');
-
- if (count_chars(service,'\\') < 3) {
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
- poptPrintUsage(pc, stderr, 0);
- exit(1);
- }
service_opt = True;
}
@@ -4065,14 +4057,6 @@
/* if the service has not yet been specified lets see if it is available in the popt stack */
if (!service_opt && poptPeekArg(pc)) {
pstrcpy(service, poptGetArg(pc));
- /* Convert any '/' characters in the service name to '\' characters */
- string_replace(service, '/','\\');
-
- if (count_chars(service,'\\') < 3) {
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
- poptPrintUsage(pc, stderr, 0);
- exit(1);
- }
service_opt = True;
}
@@ -4111,6 +4095,16 @@
}
load_interfaces();
+
+ if (service_opt) {
+ /* Convert any '/' characters in the service name to '\' characters */
+ string_replace(service, '/','\\');
+ if (count_chars(service,'\\') < 3) {
+ d_printf("\n%s: Not enough '\\' characters in service\n",service);
+ poptPrintUsage(pc, stderr, 0);
+ exit(1);
+ }
+ }
if ( strlen(new_workgroup) != 0 )
set_global_myworkgroup( new_workgroup );
Modified: branches/SAMBA_3_0_25/source/client/client.c
===================================================================
--- branches/SAMBA_3_0_25/source/client/client.c 2007-06-21 15:41:19 UTC (rev 23570)
+++ branches/SAMBA_3_0_25/source/client/client.c 2007-06-21 17:05:59 UTC (rev 23571)
@@ -3921,14 +3921,6 @@
/* if the service has not yet been specified lets see if it is available in the popt stack */
if (!service_opt && poptPeekArg(pc)) {
pstrcpy(service, poptGetArg(pc));
- /* Convert any '/' characters in the service name to '\' characters */
- string_replace(service, '/','\\');
-
- if (count_chars(service,'\\') < 3) {
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
- poptPrintUsage(pc, stderr, 0);
- exit(1);
- }
service_opt = True;
}
@@ -4016,14 +4008,6 @@
/* if the service has not yet been specified lets see if it is available in the popt stack */
if (!service_opt && poptPeekArg(pc)) {
pstrcpy(service, poptGetArg(pc));
- /* Convert any '/' characters in the service name to '\' characters */
- string_replace(service, '/','\\');
-
- if (count_chars(service,'\\') < 3) {
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
- poptPrintUsage(pc, stderr, 0);
- exit(1);
- }
service_opt = True;
}
@@ -4062,6 +4046,16 @@
}
load_interfaces();
+
+ if (service_opt) {
+ /* Convert any '/' characters in the service name to '\' characters */
+ string_replace(service, '/','\\');
+ if (count_chars(service,'\\') < 3) {
+ d_printf("\n%s: Not enough '\\' characters in service\n",service);
+ poptPrintUsage(pc, stderr, 0);
+ exit(1);
+ }
+ }
if ( strlen(new_workgroup) != 0 )
set_global_myworkgroup( new_workgroup );
Modified: branches/SAMBA_3_0_26/source/client/client.c
===================================================================
--- branches/SAMBA_3_0_26/source/client/client.c 2007-06-21 15:41:19 UTC (rev 23570)
+++ branches/SAMBA_3_0_26/source/client/client.c 2007-06-21 17:05:59 UTC (rev 23571)
@@ -3921,14 +3921,6 @@
/* if the service has not yet been specified lets see if it is available in the popt stack */
if (!service_opt && poptPeekArg(pc)) {
pstrcpy(service, poptGetArg(pc));
- /* Convert any '/' characters in the service name to '\' characters */
- string_replace(service, '/','\\');
-
- if (count_chars(service,'\\') < 3) {
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
- poptPrintUsage(pc, stderr, 0);
- exit(1);
- }
service_opt = True;
}
@@ -4016,14 +4008,6 @@
/* if the service has not yet been specified lets see if it is available in the popt stack */
if (!service_opt && poptPeekArg(pc)) {
pstrcpy(service, poptGetArg(pc));
- /* Convert any '/' characters in the service name to '\' characters */
- string_replace(service, '/','\\');
-
- if (count_chars(service,'\\') < 3) {
- d_printf("\n%s: Not enough '\\' characters in service\n",service);
- poptPrintUsage(pc, stderr, 0);
- exit(1);
- }
service_opt = True;
}
@@ -4062,6 +4046,16 @@
}
load_interfaces();
+
+ if (service_opt) {
+ /* Convert any '/' characters in the service name to '\' characters */
+ string_replace(service, '/','\\');
+ if (count_chars(service,'\\') < 3) {
+ d_printf("\n%s: Not enough '\\' characters in service\n",service);
+ poptPrintUsage(pc, stderr, 0);
+ exit(1);
+ }
+ }
if ( strlen(new_workgroup) != 0 )
set_global_myworkgroup( new_workgroup );
More information about the samba-cvs
mailing list