Thanks, reduced this down and reported
https://github.com/kripken/emscripten/issues/2770 . Let's continue there.

Jukka

2014-09-08 0:43 GMT-04:00 Ahmed Fasih <[email protected]>:

> This question, as the subject indicates, is a little confusing so I hope
> an example and code will help (available
> https://gist.github.com/fasiha/29d4639ebd051915ff91 if updates are made):
>
> int print_test(char *name, int use_printf) {
>   char out[1024] = {0};
>
>   if (use_printf) {
>     printf("Hi %s\n", name);
>     return 0;
>   }
>
>   memmove(out, "Yo ", 3);
>   memmove(out + 3, name, strlen(name));
>   printf("%s", out);
>   fflush(stdout);
>   return strlen(out);
> }
>
>
>
> In Chrome and Firefox, making a function handle as `var test =
> Module.cwrap('print_test', 'number', ['string', 'number']);`, when I call
> `print_test` with a string and a 1 (telling it to greet someone using
> printf in the most straightforward way), all is well: I see the output in
> the browser's canvas and JS console.
>
> >> test("z", 01)
> Hi z
> 0
>
> However, if I call this function with 0 for the second argument, and it
> goes to build the string using stack-allocated space and `memmove`, which
> is then printf()'d, no output is seen in the browser.
>
> >> test("z", 0)
> 4
> >> test("zzz", 0)
> 6
>
>
> That is, until I call `print_test` with a 1 as the second argument again,
> in which case the outputs of the previous failed attempts appear:
>
> >> test("zzz", 1)
> Yo zYo zYo zYo zzzHi zzz
> 0
>
> As a side-note, when I call `print_test` with 0 second-argument in
> `main()` for Node.js, the outputs are generated as expected---but maybe
> Node is having similar problems as above (in the browser) but it doesn't
> manifest in the command-line.
>
> (I'm trying to troubleshoot some unusual behavior in my actual
> application, which calls `fwrite()` on dynamically-allocated data to print
> to stdout, where sometimes printouts aren't being generated, while other
> times they are, and while there I don't see any queued output, the above is
> confusing enough for me to seek help in understanding Emscripten + browser
> + printout behavior.)
>
> --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to