Commit 99169885 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Directory rename fixed - the mask being passed by the rename routine didn't...

Directory rename fixed - the mask being passed by the rename routine didn't have the ATTR_DIR bit set.Discovered this after reading lots of the spec which is also now included here in /doc.

Copying files out of LanManFS filer "forgot" their filetype even though
they appeared right in the filer,fixed.
A stray debugging printf removed,along with one compiler warning.
New sprites (yuck) to match !Omni.
Reordered the shutdown in two places,first Omni_Shutdown bins the mounts
lists which SMB_Shutdown uses.Second in NetBEUI mode the announcement that
a protocol has terminated goes *after* the shutdown - otherwise you sit
around for about 20s wondering where the link has gone.

Version 2.25. Tagged as 'LanManFS-2_25'
parent fb9dd3be
No preview for this file type
/* (2.24)
/* (2.25)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.68.
*
*/
#define Module_MajorVersion_CMHG 2.24
#define Module_MajorVersion_CMHG 2.25
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 16 Dec 2002
#define Module_Date_CMHG 16 Jan 2003
#define Module_MajorVersion "2.24"
#define Module_Version 224
#define Module_MajorVersion "2.25"
#define Module_Version 225
#define Module_MinorVersion ""
#define Module_Date "16 Dec 2002"
#define Module_Date "16 Jan 2003"
#define Module_ApplicationDate "16-Dec-02"
#define Module_ApplicationDate "16-Jan-03"
#define Module_ComponentName "LanManFS"
#define Module_ComponentPath "RiscOS/Sources/Networking/Omni/Protocols/LanManFS"
#define Module_FullVersion "2.24"
#define Module_HelpVersion "2.24 (16 Dec 2002)"
#define Module_LibraryVersionInfo "2:24"
#define Module_FullVersion "2.25"
#define Module_HelpVersion "2.25 (16 Jan 2003)"
#define Module_LibraryVersionInfo "2:25"
......@@ -341,7 +341,6 @@ static err_t Attr_GetInfoX2 ( char *filename, char *leafname,
RISCOS_ATTRIBS *pRA )
{
char *lastcomma;
if (Xlt_SplitLeafnameX2 ( leafname?leafname:filename, pRA, &lastcomma ) != OK) {
/* Something asked using a RISC OS name. Need to do a lookup
* for the file.
......
......@@ -344,8 +344,6 @@ static err_t Func_ReadFreeSpace ( int sixtyfourbit, char *name, int *R )
_kernel_oserror *err;
struct disk_size_response dsr;
printf("Read free space\n");
r.r[0] = 2;
r.r[2] = (int) &dsr;
r.r[3] = (int) name;
......
......@@ -209,12 +209,12 @@ static void LM_GracefulClosedown(void)
{
if (LM_Vars.initialised == LMInitState_FullyInited) {
stopcallbacks();
Omni_Shutdown();
SMB_Shutdown(); /* Dismounts all SMB mounts first as */
Omni_Shutdown(); /* Omni_Shutdown zeros the Mounts lists */
OmniS_ResourceShutdown();
Prn_Shutdown();
SMB_Shutdown();
NB_Shutdown();
Buf_Shutdown();
Prn_Shutdown(); /* Free print jobs */
NB_Shutdown(); /* Also calls LLC_Shutdown */
Buf_Shutdown(); /* Tell MBufManager we're done */
LM_Vars.initialised = LMInitState_PreInit;
}
}
......@@ -224,12 +224,14 @@ _kernel_oserror * LM_Finalise (int fatal, int podule, void *pw)
debug0("Finalise\n");
(void) fatal;
(void) podule;
(void) pw;
lanman_announce_lanmanfs(protocolstatus_TERMINATING, pw);
/* Dismount all (NB.Before announcing we're done with the protocol) */
LM_GracefulClosedown();
/* Tell the DCI driver the NetBEUI protocol is gone */
lanman_announce_lanmanfs(protocolstatus_TERMINATING, pw);
/* Now mark this filing system as gone */
LM_Undeclare();
return NULL;
}
......@@ -1259,6 +1261,7 @@ static void LM_check_protocol_status(_kernel_swi_regs *r)
* Inform our transport layer if we find it was Internet leaving.
*/
const char *proto = (char *) r->r[4];
if (r->r[2] == protocolstatus_TERMINATING && strcmp(proto, "Internet") == 0) {
NB_InternetGone();
}
......
......@@ -1765,7 +1765,7 @@ err_t SMB_Rename ( char *oldpath, char *newpath )
if ( pB == NULL )
return EOUTOFMEM;
SMB_TxWords[0] = ATTR_NORM;
SMB_TxWords[0] = ATTR_NORM | ATTR_DIR; /* Permit both file and dir renaming */
return Do_SMB ( hS, SMBmv, 1, pB, NULL );
}
......
......@@ -47,7 +47,7 @@
/* Magic value used to indicate an incomplete file - used by the Filer,
* for example, when writing a new file
*/
static const int deaddead = 0xDEADDEAD;
static const int deaddead = (int)0xDEADDEAD;
/* For the moment, untyped files have these invented load/exec addresses.
* They ensure that if such a file is *Load'ed or *Run'ed, then a data
......@@ -1252,7 +1252,16 @@ err_t Xlt_SplitLeafnameX2 ( char *leafname, RISCOS_ATTRIBS *pRA,
{
/* No ",ttt" was found,try the mimemap for ".ext" */
leafname = oldname;
term = strchr(leafname, '/');
/* This function can get called with "A:\dosname.txt" paths or "riscosname/txt" leafs */
if (leafname[1] == ':')
{
term = strrchr(leafname, '.'); /* strrchr catches names like "file.tar.gz" */
}
else
{
term = strrchr(leafname, '/'); /* strrchr catches names like "file/tar/gz" */
}
if (term != NULL)
{
/* A dot was found so try to lookup the dos style extension */
......
......@@ -91,9 +91,9 @@ command-keyword-table: LM_Command
LMNameMode(min-args:1, max-args:1,
help-text: "*LMNameMode sets the way LanManFS capitalises names on DOS shares\r"
"It does not affect long filename shares\r"
"Syntax:\t*LMNameMode [0|1|2]",
"Syntax:\t*LMNameMode 0 | 1 | 2",
fs-command:,
invalid-syntax: "Syntax:\t*LMNameMode [0|1|2]\r", ),
invalid-syntax: "Syntax:\t*LMNameMode 0 | 1 | 2\r", ),
LMLogoff(min-args:0, max-args:0,
help-text: "*LMLogoff clears the workgroup and default user settings "
......@@ -131,16 +131,16 @@ command-keyword-table: LM_Command
LMTransport(min-args:0, max-args:1,
help-text: "*Configure LMTransport sets whether LanManFS should use "
"NetBEUI or TCP/IP as transport protocol\rSyntax:\t*Configure LMTransport [IP|NetBEUI]",
invalid-syntax: "Syntax:\t*Configure LMTransport [IP|NetBEUI]\r",
"NetBEUI or TCP/IP as transport protocol\rSyntax:\t*Configure LMTransport IP | NetBEUI",
invalid-syntax: "Syntax:\t*Configure LMTransport IP | NetBEUI\r",
configure:,
status:,
),
LMNameServer(min-args:0, max-args:1,
help-text: "*Configure LMNameServer <IP address> sets the address of a "
"NetBIOS over IP nameserver for LanManFS to use\rSyntax:\t*Configure LMNameServer [IP address]",
invalid-syntax: "Syntax:\t*Configure LMNameServer [IP address]\r",
"NetBIOS over IP nameserver for LanManFS to use\rSyntax:\t*Configure LMNameServer <IP address>",
invalid-syntax: "Syntax:\t*Configure LMNameServer <IP address>\r",
configure:,
status:,
),
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -173,7 +173,7 @@ Err19 DCD Err_Base+19
ALIGN
Err20 DCD Err_Base+&B4
DCB "Access not allowed", 0
DCB "Access denied", 0
ALIGN
Err21 DCD Err_Base+21
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment