From a3706b16a1aaa3ba8fbc5401c840b9e2fde418e6 Mon Sep 17 00:00:00 2001 From: Alexandre Barreto Date: Tue, 31 Jan 2023 13:23:22 -0500 Subject: [PATCH] g.proj: fix reading input WKT (#1582) properly terminate input WKT string Co-authored-by: Marc Jansen --- general/g.proj/input.c | 10 ++++++++++ python/grass/.flake8 | 6 ++++++ scripts/g.extension/g.extension.py | 23 +++++++++++++++++++++++ 3 files changed, 39 insertions(+) diff --git a/general/g.proj/input.c b/general/g.proj/input.c index bc639ef0649..3f7f6e4d2b3 100644 --- a/general/g.proj/input.c +++ b/general/g.proj/input.c @@ -119,6 +119,9 @@ int input_wkt(char *wktfile) <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> 7e7871fd90 (g.proj: fix reading input WKT (#1582)) size_t wktlen; wktlen = fread(buff, 1, sizeof(buff), infd); @@ -133,8 +136,11 @@ int input_wkt(char *wktfile) /* Get rid of newlines */ G_squeeze(buff); ======= +<<<<<<< HEAD ======= >>>>>>> 7c10386e82 (g.proj: fix reading input WKT (#1582)) +======= +>>>>>>> 7e7871fd90 (g.proj: fix reading input WKT (#1582)) size_t wktlen; wktlen = fread(buff, 1, sizeof(buff), infd); @@ -148,6 +154,7 @@ int input_wkt(char *wktfile) buff[wktlen] = '\0'; /* Get rid of newlines */ G_squeeze(buff); +<<<<<<< HEAD >>>>>>> b3579a4902 (g.proj: fix reading input WKT (#1582)) ======= size_t wktlen; @@ -171,6 +178,9 @@ int input_wkt(char *wktfile) >>>>>>> 6cf60c76a4 (wxpyimgview: explicit conversion to int (#2704)) ======= >>>>>>> 8422103f4c (wxpyimgview: explicit conversion to int (#2704)) +======= +>>>>>>> 7c10386e82 (g.proj: fix reading input WKT (#1582)) +>>>>>>> 7e7871fd90 (g.proj: fix reading input WKT (#1582)) } else G_fatal_error(_("Unable to open file '%s' for reading"), wktfile); diff --git a/python/grass/.flake8 b/python/grass/.flake8 index 39d17847f48..913ecdad159 100644 --- a/python/grass/.flake8 +++ b/python/grass/.flake8 @@ -5,16 +5,22 @@ ignore = <<<<<<< HEAD <<<<<<< HEAD <<<<<<< HEAD +<<<<<<< HEAD +======= +>>>>>>> 7e7871fd90 (g.proj: fix reading input WKT (#1582)) ======= E722, # do not use bare 'except' >>>>>>> 7e8f036e2d (pythonlib: Remove star imports (#1546)) ======= >>>>>>> 7c10386e82 (g.proj: fix reading input WKT (#1582)) +<<<<<<< HEAD ======= ======= E722, # do not use bare 'except' >>>>>>> 7e8f036e2d (pythonlib: Remove star imports (#1546)) >>>>>>> 57aff3a06a (pythonlib: Remove star imports (#1546)) +======= +>>>>>>> 7e7871fd90 (g.proj: fix reading input WKT (#1582)) per-file-ignores = # C wrappers call libgis.G_gisinit before importing other modules. diff --git a/scripts/g.extension/g.extension.py b/scripts/g.extension/g.extension.py index 4e4e359dbb9..f732b031c4f 100644 --- a/scripts/g.extension/g.extension.py +++ b/scripts/g.extension/g.extension.py @@ -583,6 +583,29 @@ def replace_shebang_win(python_file): os.rename(tmp_name, python_file) # rename temp to original name +def replace_shebang_win(python_file): + """ + Replaces "python" with "python3" in python files + using UTF8 encoding on MS Windows + """ + + cur_dir = os.path.dirname(python_file) + tmp_name = os.path.join(cur_dir, gscript.tempname(12)) + + with codecs.open(python_file, "r", encoding="utf8") as in_file, codecs.open( + tmp_name, "w", encoding="utf8" + ) as out_file: + + for line in in_file: + new_line = line.replace( + "#!/usr/bin/env python\n", "#!/usr/bin/env python3\n" + ) + out_file.write(new_line) + + os.remove(python_file) # remove original + os.rename(tmp_name, python_file) # rename temp to original name + + def urlretrieve(url, filename, *args, **kwargs): """Same function as 'urlretrieve', but with the ability to define headers.