Browse Source

Merge branch 'js/no-html-bypass-on-windows'

On Windows, help.browser configuration variable used to be ignored,
which has been corrected.

* js/no-html-bypass-on-windows:
  Revert "display HTML in default browser using Windows' shell API"
maint
Junio C Hamano 8 years ago
parent
commit
13e11ff707
  1. 7
      builtin/help.c
  2. 42
      compat/mingw.c
  3. 3
      compat/mingw.h

7
builtin/help.c

@ -379,17 +379,10 @@ static void get_html_page_path(struct strbuf *page_path, const char *page) @@ -379,17 +379,10 @@ static void get_html_page_path(struct strbuf *page_path, const char *page)
free(to_free);
}

/*
* If open_html is not defined in a platform-specific way (see for
* example compat/mingw.h), we use the script web--browse to display
* HTML.
*/
#ifndef open_html
static void open_html(const char *path)
{
execl_git_cmd("web--browse", "-c", "help.browser", path, (char *)NULL);
}
#endif

static void show_html_page(const char *git_cmd)
{

42
compat/mingw.c

@ -1930,48 +1930,6 @@ int mingw_raise(int sig) @@ -1930,48 +1930,6 @@ int mingw_raise(int sig)
}
}


static const char *make_backslash_path(const char *path)
{
static char buf[PATH_MAX + 1];
char *c;

if (strlcpy(buf, path, PATH_MAX) >= PATH_MAX)
die("Too long path: %.*s", 60, path);

for (c = buf; *c; c++) {
if (*c == '/')
*c = '\\';
}
return buf;
}

void mingw_open_html(const char *unixpath)
{
const char *htmlpath = make_backslash_path(unixpath);
typedef HINSTANCE (WINAPI *T)(HWND, const char *,
const char *, const char *, const char *, INT);
T ShellExecute;
HMODULE shell32;
int r;

shell32 = LoadLibrary("shell32.dll");
if (!shell32)
die("cannot load shell32.dll");
ShellExecute = (T)GetProcAddress(shell32, "ShellExecuteA");
if (!ShellExecute)
die("cannot run browser");

printf("Launching default browser to display HTML ...\n");
r = HCAST(int, ShellExecute(NULL, "open", htmlpath,
NULL, "\\", SW_SHOWNORMAL));
FreeLibrary(shell32);
/* see the MSDN documentation referring to the result codes here */
if (r <= 32) {
die("failed to launch browser for %.*s", MAX_PATH, unixpath);
}
}

int link(const char *oldpath, const char *newpath)
{
typedef BOOL (WINAPI *T)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);

3
compat/mingw.h

@ -417,9 +417,6 @@ int mingw_offset_1st_component(const char *path); @@ -417,9 +417,6 @@ int mingw_offset_1st_component(const char *path);
#include <inttypes.h>
#endif

void mingw_open_html(const char *path);
#define open_html mingw_open_html

/**
* Converts UTF-8 encoded string to UTF-16LE.
*

Loading…
Cancel
Save