This file is indexed.

/usr/include/gnome-vfsmm-2.6/libgnomevfsmm/utils.h is in libgnome-vfsmm-2.6-dev 2.26.0-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
// -*- c++ -*-
#ifndef _LIBGNOMEVFSMM_UTILS_H
#define _LIBGNOMEVFSMM_UTILS_H
/* $Id: utils.h 2019 2009-01-27 08:29:42Z murrayc $ */

/* utils.h
 *
 * Copyright 2004      gnome-vfsmm development team.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free
 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#include <libgnomevfsmm/types.h>
#include <libgnomevfsmm/exception.h>
#include <glibmm/ustring.h>


namespace Gnome
{

namespace Vfs
{

/** Formats the file size passed in @a sizein a way that is easy for
 * the user to read. Gives the size in bytes, kilobytes, megabytes or
 * gigabytes, choosing whatever is appropriate.
 *
 * @param size
 * @result a newly allocated string with the size ready to be shown.
 **/
Glib::ustring format_file_size_for_display(FileSize  size);

/** Escapes @unescaped_string, replacing any and all special characters with equivalent escape sequences.
 *
 * @param unscaped_string String to be escaped
 * @result A string equivalent to @a unescaped_string but with all special characters escaped
 */
Glib::ustring escape_string(const Glib::ustring& unescaped_string);

/** Escapes @path, replacing only special characters that would not
 * be found in paths (so '/', '&', '=', and '?' will not be escaped by this function).
 *
 * @param path String to be escaped
 * @result A string equivalent to @a path but with non-path characters escaped
 */
Glib::ustring escape_path_string(const Glib::ustring& path);

/** Escapes @a path, replacing only special characters that would not
 * be found in paths or host name (so '/', '&', '=', ':', '@' and '?' will not be escaped by this function).
 *
 * @param path String to be escaped
 * Return value A string equivalent to @a path but with non-path/host characters escaped
 */
Glib::ustring escape_host_and_path_string(const Glib::ustring& path);

/** Escapes only '/' and '%' characters in @string, replacing
 * them with their escape sequence equivalents.
 *
 * @param unescaped_string String to be escaped
 * @result A string equivalent to @a unescaped_string, but with no unescaped '/' or '%' characters
 */
Glib::ustring escape_slashes(const Glib::ustring& unescaped_string);

/** Decodes escaped characters (i.e. PERCENTxx sequences) in @a escaped_string.
 * Characters are encoded in PERCENTxy form, where xy is the ASCII hex code
 * for character 16x+y.
 *
 * @param escaped_string An escaped URI, path, or other string
 * @param illegal_characters A string containing a sequence of characters considered "illegal", '\0' is automatically in this list.
 * @result A newly allocated string with the unescaped equivalents,
 * or an empty string if @a escaped_string contained one of the characters
 * in @a illegal_characters.
 */
Glib::ustring unescape_string(const Glib::ustring& escaped_string, const Glib::ustring& illegal_characters = Glib::ustring());

/** Similar to unescape_string(), but it returns something
 * semi-intelligable to a user even upon receiving traumatic input
 * such as %00 or URIs in bad form.
 *
 * WARNING: You should never use this function on a whole URI!  It
 * unescapes reserved characters, and can result in a mangled URI
 * that can not be re-entered.  For example, it unescapes "#" "&" and "?",
 * which have special meanings in URI strings.
 *
 * @see unescape_string().
 *
 * @param escaped_string The string encoded with escaped sequences.
 * @result A string with all characters replacing their escaped hex values
 */
Glib::ustring unescape_string_for_display(const Glib::ustring& escaped_string);

/**
 * gnome_vfs_make_path_name_canonical:
 * @path: a file path, relative or absolute
 *
 * Calls _gnome_vfs_canonicalize_pathname, allocating storage for the
 * result and providing for a cleaner memory management.
 *
 * @result a canonical version of @path
 **/
Glib::ustring make_uri_canonical(const Glib::ustring& uri);

Glib::ustring make_path_name_canonical(const Glib::ustring& path);

/** If @a path starts with a ~, representing the user's home
 * directory, expand it to the actual path location.
 * 
 * @param path a local file path which may start with a '~'
 * @result a newly allocated string with the initial
 * tilde (if there was one) converted to an actual path
 **/
Glib::ustring expand_initial_tilde(const Glib::ustring& path);


/** Create a local path for a file:/// URI. Do not use with URIs
 * of other methods.
 *
 * @param uri  URI to convert to a local path
 * @result a string containing the local path, or an empty string if the uri isn't a file: URI
 * without a fragment identifier (or chained URI).
 **/
Glib::ustring get_local_path_from_uri(const Glib::ustring& uri);

/** Returns a file:/// URI for the local path @local_full_path.
 *
 * @param local_full_path A full local filesystem path (i.e. not relative)
 * @result A string containing the URI corresponding to @a local_full_path.
 */
Glib::ustring get_uri_from_local_path(const Glib::ustring& local_full_path);

/** Checks if @a command_string starts with the full path of an executable file
 * or an executable in $PATH.
 *
 * @param command_string:
 * @result true if command_string started with an executable file, false otherwise.
 */
bool is_executable_command_string(const Glib::ustring& command_string);

Glib::ustring icon_path_from_filename(const Glib::ustring& filename);

#ifdef GLIBMM_EXCEPTIONS_ENABLED
void url_show (const Glib::ustring& url) throw(exception);
#else
void url_show (const Glib::ustring& url, std::auto_ptr<Gnome::Vfs::exception>& error);
#endif //GLIBMM_EXCEPTIONS_ENABLED

//TODO: Where does this envp come from? It seems to be an input parameter.
//void url_show (const Glib::ustring& url, char** envp) throw(exception);

} //namespace Vfs
} //namespace Gnome

#endif //_LIBGNOMEVFSMM_UTILS_H