Hello list.

I made a little 'mk_speak.dll' to speak the given
string. It uses Microsoft Speech API v5. But I find
that if I load it like:
  load mk_speak.dll (speak_init)

gnumake bombs in 'lookup_file()':
  assert (*name != '\0');

since 'name' is empty. Or with max debug:
  gnumake -f speak-test.mak --debug=v
  ...
  Reading makefile 'speak-test.mak'...
  Loading symbol mk_speak_gmk_setup from mk_speak.dll
  Loaded shared object mk_speak.dll
  Detected symbol mk_speak_gmk_unload in mk_speak.dll
  Assertion failed: *name != '\0', file file.c, line 92

With a 'load mk_speak.dll(speak_init)' (no space),
all is well. Why does it not handle this single
space?

It seems a 'load' line is parsed similar to a normal include
file where a ' ' is not legal. Or? IMHO, a space should be
accepted.

BTW1. I'm not sure what the signature of such a 'speak_init()'
function should be. Same as the setup function?
  EXPORT int mk_speak_gmk_setup (unsigned int abi, const gmk_floc *flocp)
  {
    //  ...
    return (-1);
  }

BTW2. Could such an init-function take parameters?
E.g. 'load mk_speak.dll(speak_init, 50)' would be handy
to set the volume to 50%.

--
--gv

Reply via email to