size_t i, buffer_len, dest_len;
smb_ucs2_t *buffer;
+ conv_silent = True;
buffer_len = push_ucs2_allocate(&buffer, src);
if (buffer_len == (size_t)-1) {
smb_panic("failed to create UCS2 buffer");
((char *)dest)[dest_len] = '\0';
SAFE_FREE(buffer);
+ conv_silent = False;
return dest_len;
}
void make_nmb_name( struct nmb_name *n, const char *name, int type)
{
+ fstring unix_name;
memset( (char *)n, '\0', sizeof(struct nmb_name) );
- push_ascii(n->name, name, sizeof(n->name), STR_TERMINATE|STR_UPPER);
+ fstrcpy(unix_name, name);
+ strupper_m(unix_name);
+ push_ascii(n->name, unix_name, sizeof(n->name), STR_TERMINATE);
n->name_type = (unsigned int)type & 0xFF;
push_ascii(n->scope, global_scope(), 64, STR_TERMINATE);
}
/* count how many syncs we might need to do */
for (work=unicast_subnet->workgrouplist; work; work = work->next) {
- if (strncmp(lp_workgroup(), work->work_group, sizeof(nstring))) {
+ if (strcmp(lp_workgroup(), work->work_group)) {
count++;
}
}
/* sync with a probability of 1/count */
for (work=unicast_subnet->workgrouplist; work; work = work->next) {
- if (strncmp(lp_workgroup(), work->work_group, sizeof(nstring))) {
+ if (strcmp(lp_workgroup(), work->work_group)) {
fstring dmb_name;
if (((unsigned)sys_random()) % count != 0)
return;
}
- if (strnequal(work->work_group, lp_workgroup(), sizeof(nstring)-1)) {
+ if (strequal(work->work_group, lp_workgroup())) {
if (lp_local_master()) {
/* We have discovered that there is no local master
struct work_record *work;
for (work = subrec->workgrouplist; work; work = work->next) {
- if (strnequal(work->work_group, workgroup_name, sizeof(nstring)-1) && !AM_LOCAL_MASTER_BROWSER(work)) {
+ if (strequal(work->work_group, workgroup_name) && !AM_LOCAL_MASTER_BROWSER(work)) {
/* Do a name query for the local master browser on this net. */
query_name( subrec, work->work_group, 0x1d,
check_for_master_browser_success,
goto done;
}
- if (!strnequal(work->work_group, lp_workgroup(), sizeof(nstring)-1)) {
+ if (!strequal(work->work_group, lp_workgroup())) {
DEBUG(3,("process_election: ignoring election request for workgroup %s on subnet %s as this \
is not my workgroup.\n", work->work_group, subrec->subnet_name ));
goto done;
for (subrec = FIRST_SUBNET; subrec; subrec = NEXT_SUBNET_EXCLUDING_UNICAST(subrec)) {
struct work_record *work;
for (work = subrec->workgrouplist; work; work = work->next) {
- if (strnequal(work->work_group, lp_workgroup(), sizeof(nstring)-1)) {
+ if (strequal(work->work_group, lp_workgroup())) {
work->needelection = True;
work->ElectionCount=0;
work->mst_state = lp_local_master() ? MST_POTENTIAL : MST_NONE;
{
struct subnet_record *ssub;
- if(strnequal(lp_workgroup(), work->work_group, sizeof(nstring)-1))
+ if(strequal(lp_workgroup(), work->work_group))
return 0;
/* This is a workgroup we have seen on a broadcast subnet. All
for (subrec = FIRST_SUBNET; subrec && (t == -1); subrec = NEXT_SUBNET_INCLUDING_UNICAST(subrec)) {
struct work_record *w;
for (w = subrec->workgrouplist; w && t == -1; w = w->next) {
- if (strnequal(w->work_group, work->work_group, sizeof(nstring)-1))
+ if (strequal(w->work_group, work->work_group))
t = w->token;
}
}
name, subrec->subnet_name));
for (ret = subrec->workgrouplist; ret; ret = ret->next) {
- if (strnequal(ret->work_group,name,sizeof(nstring)-1)) {
+ if (strequal(ret->work_group,name)) {
DEBUGADD(4, ("found.\n"));
return(ret);
}
{
int i;
- if(!strnequal(lp_workgroup(), work->work_group,sizeof(nstring)-1))
+ if(!strequal(lp_workgroup(), work->work_group))
return;
/* If this is a broadcast subnet then start elections on it if we are so configured. */