diff options
Diffstat (limited to 'sys-apps/slocate/files/slocate-3.1-NUL.patch')
-rw-r--r-- | sys-apps/slocate/files/slocate-3.1-NUL.patch | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/sys-apps/slocate/files/slocate-3.1-NUL.patch b/sys-apps/slocate/files/slocate-3.1-NUL.patch new file mode 100644 index 000000000000..cfd13392686e --- /dev/null +++ b/sys-apps/slocate/files/slocate-3.1-NUL.patch @@ -0,0 +1,78 @@ +add an -0 argument to output results with NUL bytes + +http://bugs.gentoo.org/216838 + +patch by marty rosenberg + +--- slocate-3.1/src/cmds.c ++++ slocate-3.1/src/cmds.c +@@ -129,6 +129,7 @@ + " --output=<file> - Specifies the database to create.\n" + " -d <path>\n" + " --database=<path> - Specfies the path of databases to search in.\n" ++ " -0 - Delimit results with \\0 rather than \\n\n" + " -h\n" + " --help - Display this help.\n" + " -v\n" +@@ -707,7 +708,7 @@ + if (strcmp(g_data->progname, "updatedb") == 0) + cmd_data->updatedb = TRUE; + +- while ((ch = getopt(argc,argv,"VvuhqU:r:o:e:l:d:-:n:f:c:i")) != EOF) { ++ while ((ch = getopt(argc,argv,"VvuhqU:r:o:e:l:d:-:n:f:c:i0")) != EOF) { + switch(ch) { + /* Help */ + case 'h': +@@ -823,6 +824,9 @@ + goto EXIT; + } + break; ++ case '0': ++ g_data->delim = '\0'; ++ break; + default: + break; + } +@@ -871,4 +875,3 @@ + + return NULL; + } +- +--- slocate-3.1/src/slocate.c ++++ slocate-3.1/src/slocate.c +@@ -164,6 +164,7 @@ + g_data->regexp_data = NULL; + g_data->queries = -1; + g_data->SLOCATE_GID = get_gid(g_data, DB_GROUP, &ret); ++ g_data->delim = '\n'; + if (!ret) + goto EXIT; + +@@ -191,7 +192,7 @@ + goto EXIT; + } + if (g_data->VERBOSE) +- fprintf(stdout, "%s\n", path); ++ fprintf(stdout, "%s%c", path, g_data->delim); + /* Match number string */ + ptr1 = path; + code_len = 0; +@@ -471,7 +472,7 @@ + if (match_ret == 1) { + if (g_data->queries > 0) + g_data->queries -= 1; +- fprintf(stdout, "%s\n", full_path); ++ fprintf(stdout, "%s%c", full_path, g_data->delim); + } + ret = 1; + EXIT: +--- slocate-3.1/src/slocate.h ++++ slocate-3.1/src/slocate.h +@@ -81,6 +81,7 @@ + char **input_db; + int queries; + struct regexp_data_s *regexp_data; ++ char delim; + }; + + /* Encoding data */ |