$ git clone http://gcodetool.ion.nu/gcodetool.git
commit e84f2cf3685ac5da42128d3dfb3d1e92f7d01bfc
Author: Alicia <...>
Date: Mon Jun 24 20:32:06 2019 +0200
Some portability fixes.
diff --git a/gcode.c b/gcode.c
index bf2d6d9..b19d485 100644
--- a/gcode.c
+++ b/gcode.c
@@ -144,7 +144,9 @@ const struct gcommand* gcode_readcommand(struct gcode* gcode)
unsigned int start=gcode->pos;
gcode_nextline(gcode);
cmd.paramcount=gcode->pos-start-1;
- cmd.string=strndup(&gcode->code[start], cmd.paramcount);
+ cmd.string=malloc(cmd.paramcount+1);
+ memcpy(cmd.string, &gcode->code[start], cmd.paramcount);
+ cmd.string[cmd.paramcount]=0;
return &cmd;
}
cmd.cmdtype=GCODE_CMD_PARAM;
diff --git a/main.c b/main.c
index 91b5d6d..8149443 100644
--- a/main.c
+++ b/main.c
@@ -17,6 +17,8 @@
*/
#include <stdio.h>
#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
extern int gtool_mirror_arg(int argc, char** argv);
extern int gtool_move_arg(int argc, char** argv);
extern int gtool_info_arg(int argc, char** argv);
@@ -34,7 +36,15 @@ int main(int argc, char** argv)
else if(argc>2 && !strcmp(argv[1], "info"))
{
return gtool_info_arg(argc, argv);
- }else{
+ }
+#ifdef WIN32 // For lazy open-with
+ else if(argc>1 && !access(argv[1], R_OK))
+ {
+ gtool_info_arg(argc+1, &argv[-1]);
+ system("pause");
+ }
+#endif
+ else{
printf("Usage: %s <subcommand> [options] <file>\n"
"Supported subcommands include:\n"
"mirror[XYZ]\n"