Does it work if you load FreeCOM via SHELL instead of SHELLHIGH?

If I modify fdconfig.sys to use 12=SHELL instead 12=SHELLHIGH for the first two menu options, FreeCOM also works with the JEMMEX NOEMS option.

Bernd

On 18.02.2025 20:42, Paul Dufresne via Freedos-devel wrote:
---- Le mar., 18 févr. 2025 14:31:04 -0500 Jim Hall via Freedos-devel  a écrit 
----

I don't understand this code question, so I'll try to unwind it.

'malloc' allocates memory of size_t size, and returns a pointer to the
allocated memory .. or NULL if it could not allocate the memory.

I didn't look at the shell/init.c code for what kind of variable
'cmdline' is, but I assume it's a pointer? If 'cmdlen' is the number
of characters you want to allocate (let's say cmdlen=40) then you
should use:

cmdline = malloc( sizeof(char) * (cmdlen+1) );


Having called 'malloc' to get the memory, you should test it like this:

if (cmdline == NULL) {
   /* out of memory */
   error_out_of_memory();
   return E_NoMem;
}

After that test, you can assume cmdline has a valid pointer to enough
memory to store the 40 characters.

I was more like saying... there is not enough memory left to allocate the 
command.com command line
that is about 40 bytes...
So the question is how could I explain there is not enough memory...
the under question is malloc (specifically in the shell code) take it's memory 
from which pool of memory?



_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel


_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to