summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2014-11-17 11:48:13 +0000
committerCaolán McNamara <caolanm@redhat.com>2014-11-17 14:53:22 +0000
commit20dab428f88066cdc54f64eaa65a7c098a250c76 (patch)
treea0bb51dfeae5b24934c053fee029f4f32721d36f /shell
parent5208856b3ba586ef2e033ae8421fd35d00b47c94 (diff)
drop gnome-open-url binary
we don't really need it anymore, fallback to our own open-url if there is nothing else to take it Change-Id: I7a4e841a53bda30e29d48b9c34d24af085f1b4b5 Related: coverity#706194 Use of untrusted string value
Diffstat (limited to 'shell')
-rw-r--r--shell/Executable_gnome_open_url.mk22
-rw-r--r--shell/Module_shell.mk1
-rw-r--r--shell/source/unix/misc/gnome-open-url.c117
-rwxr-xr-xshell/source/unix/misc/gnome-open-url.sh4
4 files changed, 2 insertions, 142 deletions
diff --git a/shell/Executable_gnome_open_url.mk b/shell/Executable_gnome_open_url.mk
deleted file mode 100644
index a5f810eb7e25..000000000000
--- a/shell/Executable_gnome_open_url.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-#
-# This file is part of the LibreOffice project.
-#
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-#
-
-$(eval $(call gb_Executable_Executable,gnome-open-url.bin))
-
-ifeq ($(filter DRAGONFLY FREEBSD NETBSD OPENBSD MACOSX,$(OS)),)
-$(eval $(call gb_Executable_add_libs,gnome-open-url.bin,\
- -ldl \
-))
-endif
-
-$(eval $(call gb_Executable_add_cobjects,gnome-open-url.bin,\
- shell/source/unix/misc/gnome-open-url \
-))
-
-# vim: set shiftwidth=4 tabstop=4 noexpandtab:
diff --git a/shell/Module_shell.mk b/shell/Module_shell.mk
index 46f081d5d43c..de906accd710 100644
--- a/shell/Module_shell.mk
+++ b/shell/Module_shell.mk
@@ -123,7 +123,6 @@ ifneq ($(filter-out MACOSX WNT,$(OS)),)
ifneq ($(ENABLE_HEADLESS),TRUE)
$(eval $(call gb_Module_add_targets,shell,\
- Executable_gnome_open_url \
Library_recentfile \
Package_scripts \
Package_scripts_gnome \
diff --git a/shell/source/unix/misc/gnome-open-url.c b/shell/source/unix/misc/gnome-open-url.c
deleted file mode 100644
index cd275cd3b89e..000000000000
--- a/shell/source/unix/misc/gnome-open-url.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <dlfcn.h>
-#include <string.h>
-#include <unistd.h>
-
-typedef int gboolean;
-typedef char gchar;
-typedef struct _GError GError;
-
-struct _GError
-{
- int domain;
- int code;
- char *message;
-};
-
-typedef enum {
- GNOME_VFS_OK
-} GnomeVFSResult;
-
-/*
- * Wrapper function which extracs gnome_url_show from libgnome
- */
-
-gboolean gnome_url_show (const char *url, GError **error)
-{
- void* handle = dlopen("libgnomevfs-2.so.0", RTLD_LAZY);
- gboolean ret = 0;
-
- (void)error; /* avoid warning due to unused parameter */
-
- if( NULL != handle )
- {
- gboolean (* init) (void) =
- (gboolean (*) (void)) dlsym(handle, "gnome_vfs_init");
-
- if( NULL != init && init() )
- {
- GnomeVFSResult (* func) (const char *url) =
- (GnomeVFSResult (*) (const char *)) dlsym(handle, "gnome_vfs_url_show");
-
- if( NULL != func )
- ret = (GNOME_VFS_OK == func(url));
- }
-
- dlclose(handle);
- }
-
- return ret;
-}
-
-/*
- * The intended use of this tool is to pass the argument to
- * the gnome_show_url function of libgnome2.
- */
-
-int main(int argc, char *argv[] )
-{
- GError *error = NULL;
- char *fallback;
- char *idx;
- int retcode = -1;
-
- if( argc != 2 )
- {
- fprintf( stderr, "Usage: gnome-open-url <uri>\n" );
- return -1;
- }
-
- if( gnome_url_show(argv[1], &error) )
- {
- return 0;
- }
-
- /*
- * launch open-url command by replacing gnome-open-url from
- * the command line. This is the fallback when running on
- * remote machines with no GNOME installed.
- */
-
- fallback = strdup(argv[0]);
- idx = strstr(fallback, "gnome-open-url");
- if ( NULL != idx )
- {
- char *args[3];
- strncpy(idx, "open-url", 9);
- args[0] = fallback;
- args[1] = argv[1];
- args[2] = NULL;
- retcode = execv(fallback, args);
- }
- free(fallback);
-
- return retcode;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/shell/source/unix/misc/gnome-open-url.sh b/shell/source/unix/misc/gnome-open-url.sh
index ab730d169a49..0bcd7b63fbed 100755
--- a/shell/source/unix/misc/gnome-open-url.sh
+++ b/shell/source/unix/misc/gnome-open-url.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-# use xdg-open or gnome-open if available
-xdg-open "$1" 2>/dev/null || gnome-open "$1" 2>/dev/null || "$0.bin" $1
+# use xdg-open or gnome-open if available, falling back to our own open-url
+xdg-open "$1" 2>/dev/null || gnome-open "$1" 2>/dev/null || `dirname "$0"`/open-url "$1" 2>/dev/null
exit 0