56 lines
1.7 KiB
Diff
56 lines
1.7 KiB
Diff
diff -up open-iscsi-2.0-870.1/utils/fwparam_ibft/fwparam_ppc.c.crash open-iscsi-2.0-870.1/utils/fwparam_ibft/fwparam_ppc.c
|
|
--- open-iscsi-2.0-870.1/utils/fwparam_ibft/fwparam_ppc.c.crash 2008-11-22 18:06:46.000000000 +0100
|
|
+++ open-iscsi-2.0-870.1/utils/fwparam_ibft/fwparam_ppc.c 2009-04-27 20:33:33.000000000 +0200
|
|
@@ -341,6 +341,7 @@ static int loop_devs(const char *devtree
|
|
int i;
|
|
char prefix[256];
|
|
|
|
+ nic_count = 0;
|
|
error = nftw(devtree, find_nics, 20, 0);
|
|
if (error)
|
|
return error;
|
|
@@ -352,6 +353,7 @@ static int loop_devs(const char *devtree
|
|
qsort(niclist, nic_count, sizeof(char *), nic_cmp);
|
|
|
|
snprintf(prefix, sizeof(prefix), "%s/%s", devtree, "aliases");
|
|
+ dev_count = 0;
|
|
error = nftw(prefix, find_initiator, 20, 0);
|
|
if (error)
|
|
return error;
|
|
@@ -366,8 +368,6 @@ static int loop_devs(const char *devtree
|
|
|
|
}
|
|
}
|
|
- if (!error)
|
|
- putchar('\n');
|
|
return error;
|
|
}
|
|
|
|
@@ -425,7 +425,7 @@ static void fill_context(struct boot_con
|
|
int fwparam_ppc(struct boot_context *context, const char *filepath)
|
|
{
|
|
int error;
|
|
- int fplen = 0;
|
|
+ int dev_count;
|
|
char *devtree;
|
|
|
|
/*
|
|
@@ -435,13 +435,10 @@ int fwparam_ppc(struct boot_context *con
|
|
* systems that can support iscsi are the ones that provide
|
|
* the appropriate FCODE with a load method.
|
|
*/
|
|
- if (filepath) {
|
|
- strncat(filename, filepath, FILENAMESZ);
|
|
- fplen = strlen(filename);
|
|
- } else
|
|
- strncat(filename, DT_TOP, FILENAMESZ);
|
|
-
|
|
- strncat(filename + fplen, BOOTPATH, FILENAMESZ - fplen);
|
|
+ if (filepath)
|
|
+ snprintf(filename, FILENAMESZ, "%s%s", filepath, BOOTPATH);
|
|
+ else
|
|
+ snprintf(filename, FILENAMESZ, "%s%s", DT_TOP, BOOTPATH);
|
|
|
|
if (debug)
|
|
fprintf(stderr, "%s: file:%s; debug:%d\n", __func__, filename,
|