error = -EACCES;
if (ncp_open_create_file_or_subdir(server, dir, __name,
- OC_MODE_CREATE, aDIR, 0xffff,
+ OC_MODE_CREATE, aDIR,
+ cpu_to_le16(0xffff),
&finfo) == 0)
{
if (ncp_is_nfs_extras(server, finfo.volume)) {
break;
default:
error = -ECHRNG;
- if (*(__u32*)raw_data == cpu_to_be32(0x76657273)) {
+ if (memcmp(raw_data, "vers", 4) == 0) {
error = ncp_parse_options(&data, raw_data);
}
if (error)
memset(&finfo, 0, sizeof(finfo));
finfo.i.attributes = aDIR;
- finfo.i.dataStreamSize = NCP_BLOCK_SIZE;
+ finfo.i.dataStreamSize = 0; /* ignored */
finfo.i.dirEntNum = 0;
finfo.i.DosDirNum = 0;
#ifdef CONFIG_NCPFS_SMALLDOS
ncp_add_byte(server, 0); /* datastream */
ncp_add_word(server, cpu_to_le16(0x8006));
ncp_add_dword(server, RIM_ALL);
- ncp_add_word(server, 32767); /* max returned items */
+ ncp_add_word(server, cpu_to_le16(32767)); /* max returned items */
ncp_add_mem(server, seq, 9);
#ifdef CONFIG_NCPFS_NFS_NS
if (server->name_space[seq->volNumber] == NW_NS_NFS) {