File ncpfs-hg-commit-406.patch of Package ncpfs

changeset:   406:6af6a89be103
user:        Scott Bentley <bentleys@hhangus.com>
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 <stdlib.h>
-#include <string.h>
 #include <ncp/nwcalls.h>
 #include <unistd.h>
 
@@ -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++];

openSUSE Build Service is sponsored by