Author: idra
Date: 2006-03-12 21:28:11 + (Sun, 12 Mar 2006)
New Revision: 14253
WebSVN:
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14253
Log:
fix trunk !
revert jpeach's patch
Modified:
trunk/source/include/smb.h
trunk/source/param/loadparm.c
trunk/source/web/swat.c
Changeset:
Modified: trunk/source/include/smb.h
===
--- trunk/source/include/smb.h 2006-03-12 19:56:10 UTC (rev 14252)
+++ trunk/source/include/smb.h 2006-03-12 21:28:11 UTC (rev 14253)
@@ -760,7 +760,7 @@
/* the following are used by loadparm for option lists */
typedef enum {
P_BOOL,P_BOOLREV,P_CHAR,P_INTEGER,P_OCTAL,P_LIST,
- P_STRING,P_USTRING,P_ENUM,P_SEP
+ P_STRING,P_USTRING,P_GSTRING,P_UGSTRING,P_ENUM,P_SEP
} parm_type;
typedef enum {
Modified: trunk/source/param/loadparm.c
===
--- trunk/source/param/loadparm.c 2006-03-12 19:56:10 UTC (rev 14252)
+++ trunk/source/param/loadparm.c 2006-03-12 21:28:11 UTC (rev 14253)
@@ -1022,7 +1022,7 @@
{max open files, P_INTEGER, P_GLOBAL, Globals.max_open_files, NULL,
NULL, FLAG_ADVANCED},
{min print space, P_INTEGER, P_LOCAL, sDefault.iMinPrintSpace, NULL,
NULL, FLAG_ADVANCED | FLAG_PRINT},
- {socket options, P_STRING, P_GLOBAL, user_socket_options, NULL, NULL,
FLAG_ADVANCED},
+ {socket options, P_GSTRING, P_GLOBAL, user_socket_options, NULL,
NULL, FLAG_ADVANCED},
{strict allocate, P_BOOL, P_LOCAL, sDefault.bStrictAllocate, NULL,
NULL, FLAG_ADVANCED | FLAG_SHARE},
{strict sync, P_BOOL, P_LOCAL, sDefault.bStrictSync, NULL, NULL,
FLAG_ADVANCED | FLAG_SHARE},
{sync always, P_BOOL, P_LOCAL, sDefault.bSyncAlways, NULL, NULL,
FLAG_ADVANCED | FLAG_SHARE},
@@ -2722,8 +2722,8 @@
BOOL hadFlag;
const char *section_names[] = { local, global, NULL};
const char *type[] = { P_BOOL, P_BOOLREV, P_CHAR, P_INTEGER,
- P_OCTAL, P_LIST, P_STRING, P_USTRING,
- P_ENUM, P_SEP};
+ P_OCTAL, P_LIST, P_STRING, P_USTRING, P_GSTRING,
+ P_UGSTRING, P_ENUM, P_SEP};
unsigned flags[] = { FLAG_BASIC, FLAG_SHARE, FLAG_PRINT, FLAG_GLOBAL,
FLAG_WIZARD, FLAG_ADVANCED, FLAG_DEVELOPER, FLAG_DEPRECATED,
FLAG_HIDE, FLAG_DOS_STRING};
@@ -3518,6 +3518,15 @@
strupper_m(*(char **)parm_ptr);
break;
+ case P_GSTRING:
+ pstrcpy((char *)parm_ptr, pszParmValue);
+ break;
+
+ case P_UGSTRING:
+ pstrcpy((char *)parm_ptr, pszParmValue);
+ strupper_m((char *)parm_ptr);
+ break;
+
case P_ENUM:
lp_set_enum_parm( parm_table[parmnum], pszParmValue,
(int*)parm_ptr );
break;
@@ -3596,6 +3605,13 @@
}
break;
+ case P_GSTRING:
+ case P_UGSTRING:
+ if ((char *)ptr) {
+ fprintf(f, %s, (char *)ptr);
+ }
+ break;
+
case P_STRING:
case P_USTRING:
if (*(char **)ptr) {
@@ -3629,6 +3645,16 @@
case P_LIST:
return str_list_compare(*(char ***)ptr1, *(char
***)ptr2);
+ case P_GSTRING:
+ case P_UGSTRING:
+ {
+ char *p1 = (char *)ptr1, *p2 = (char *)ptr2;
+ if (p1 !*p1)
+ p1 = NULL;
+ if (p2 !*p2)
+ p2 = NULL;
+ return (p1 == p2 || strequal(p1, p2));
+ }
case P_STRING:
case P_USTRING:
{
@@ -3722,6 +3748,10 @@
case P_USTRING:
return strequal(parm_table[i].def.svalue,
*(char **)parm_table[i].ptr);
+ case P_GSTRING:
+ case P_UGSTRING:
+ return strequal(parm_table[i].def.svalue,
+ (char *)parm_table[i].ptr);
case P_BOOL:
case P_BOOLREV:
return parm_table[i].def.bvalue ==
@@ -4084,6 +4114,14 @@
parm_table[i].def.svalue = NULL;
}
break;
+ case P_GSTRING:
+ case P_UGSTRING:
+ if (parm_table[i].ptr) {
+ parm_table[i].def.svalue =
SMB_STRDUP((char *)parm_table[i].ptr);
+