diff --git a/.patches/ncpfs-2.2.6-r6/ncpfs-hg-commit-406.patch b/.patches/ncpfs-2.2.6-r6/ncpfs-hg-commit-406.patch new file mode 100644 index 0000000..b387f1c --- /dev/null +++ b/.patches/ncpfs-2.2.6-r6/ncpfs-hg-commit-406.patch @@ -0,0 +1,86 @@ +changeset: 406:6af6a89be103 +user: Scott Bentley +date: Sun May 22 23:37:08 2005 +0000 +files: util/nwsalvage.c +description: +Do not use absolute path in nwsalvage. Salvage limits filename to +256 characters. + + +diff -r 8aededcd3e6a -r 6af6a89be103 util/nwsalvage.c +--- a/util/nwsalvage.c Sun May 22 23:35:00 2005 +0000 ++++ b/util/nwsalvage.c Sun May 22 23:37:08 2005 +0000 +@@ -23,7 +23,6 @@ + */ + + #include +-#include + #include + #include + +@@ -58,15 +57,8 @@ static void process_salvage(struct ncp_c + static void process_salvage(struct ncp_conn* conn, int volume, u_int32_t directory_id, int file_id) { + struct ncp_deleted_file info; + int found; +- char dirname[1024]; +- char filename[1024]; +- char name[1024]; +- +- if (!ncp_ns_get_full_name(conn, g_nwns, g_nwns, +- 1, volume, directory_id, NULL, 0, +- dirname, sizeof(dirname))) { +- } +- strcat(dirname,"/"); ++ char oldfilename[256]; ++ char newfilename[256]; + + NWCCODE err; + +@@ -74,31 +66,29 @@ static void process_salvage(struct ncp_c + info.seq = -1; + while (!ncp_ns_scan_salvageable_file(conn, g_nwns, + 1, volume, directory_id, NULL, 0, +- &info, filename, sizeof(filename))){ +- +- strcpy(name,dirname); +- strcat(name,filename); ++ &info, oldfilename, sizeof(oldfilename))) { + + if (info.seq == file_id) { ++ strcpy(newfilename, oldfilename); + found++; +- if ((err = ncp_ns_salvage_file(conn, g_nwns, &info, name)) != 0) { ++ if ((err = ncp_ns_salvage_file(conn, g_nwns, &info, newfilename)) != 0) { + if (!g_silent) { + if (err == 0x89FE) { + printf(_("%8s%d -- failed (File already exists, or path inaccessible)\n"), "", info.seq); + } else { +- printf(_("%8s%d %s -- failed (%s)\n"), "", info.seq, name, strnwerror(err)); ++ printf(_("%8s%d %s -- failed (%s)\n"), "", info.seq, newfilename, strnwerror(err)); + } + } + } else { + if (!g_silent) { +- printf(_("%8s%d %s -- salvaged \n"), "", info.seq, name); ++ printf(_("%8s%d %s -- salvaged \n"), "", info.seq, newfilename); + } + } + break; + } + } + if (!found) { +- printf(_("%8sFile with scan ID '%d' was not found in directory '%s'."), "", file_id, dirname); ++ printf(_("%8sFile with scan ID '%d' was not found."), "", file_id); + } + printf("\n"); + } +@@ -121,7 +111,7 @@ int main(int argc, char* argv[]) { + case '?': + case ':':break; + case 'h':usage(); exit(2); +- case 's':g_silent=1; ++ case 's':g_silent = 1; + break; + case 'n': + opt_n = argv[optind++]; + diff --git a/util/nwsalvage.c b/util/nwsalvage.c index 57e687f..5edf044 100644 --- a/util/nwsalvage.c +++ b/util/nwsalvage.c @@ -23,7 +23,6 @@ */ #include -#include #include #include @@ -58,15 +57,8 @@ static int g_nwns = NW_NS_LONG; static void process_salvage(struct ncp_conn* conn, int volume, u_int32_t directory_id, int file_id) { struct ncp_deleted_file info; int found; - char dirname[1024]; - char filename[1024]; - char name[1024]; - - if (!ncp_ns_get_full_name(conn, g_nwns, g_nwns, - 1, volume, directory_id, NULL, 0, - dirname, sizeof(dirname))) { - } - strcat(dirname,"/"); + char oldfilename[256]; + char newfilename[256]; NWCCODE err; @@ -74,31 +66,29 @@ static void process_salvage(struct ncp_conn* conn, int volume, u_int32_t directo info.seq = -1; while (!ncp_ns_scan_salvageable_file(conn, g_nwns, 1, volume, directory_id, NULL, 0, - &info, filename, sizeof(filename))){ - - strcpy(name,dirname); - strcat(name,filename); + &info, oldfilename, sizeof(oldfilename))) { if (info.seq == file_id) { + strcpy(newfilename, oldfilename); found++; - if ((err = ncp_ns_salvage_file(conn, g_nwns, &info, name)) != 0) { + if ((err = ncp_ns_salvage_file(conn, g_nwns, &info, newfilename)) != 0) { if (!g_silent) { if (err == 0x89FE) { printf(_("%8s%d -- failed (File already exists, or path inaccessible)\n"), "", info.seq); } else { - printf(_("%8s%d %s -- failed (%s)\n"), "", info.seq, name, strnwerror(err)); + printf(_("%8s%d %s -- failed (%s)\n"), "", info.seq, newfilename, strnwerror(err)); } } } else { if (!g_silent) { - printf(_("%8s%d %s -- salvaged \n"), "", info.seq, name); + printf(_("%8s%d %s -- salvaged \n"), "", info.seq, newfilename); } } break; } } if (!found) { - printf(_("%8sFile with scan ID '%d' was not found in directory '%s'."), "", file_id, dirname); + printf(_("%8sFile with scan ID '%d' was not found."), "", file_id); } printf("\n"); } @@ -121,7 +111,7 @@ int main(int argc, char* argv[]) { case '?': case ':':break; case 'h':usage(); exit(2); - case 's':g_silent=1; + case 's':g_silent = 1; break; case 'n': opt_n = argv[optind++];