Applied in: 1586, 1587 to trunk and branch. Thanks Tzachi
> -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Slava Strebkov > Sent: Tuesday, September 09, 2008 5:32 PM > To: [email protected] > Subject: [ofw][patch] improved prints > > > Improved prints > > Index: tools/part_man/user/part_man.c > =================================================================== > --- tools/part_man/user/part_man.c (revision 1545) > +++ tools/part_man/user/part_man.c (working copy) > @@ -35,7 +35,7 @@ > > void show_help() > { > - printf("Usage : part_man.exe <show|add|rem> <port_guid> <pkey1, > pkey2, ...>\n"); > + printf("Usage : part_man.exe <show|add|rem> <port_guid> <pkey1 > pkey2 ...>\n"); > } > > /******************************************************************** > @@ -50,7 +50,8 @@ > LONG ret; > int retval; > DWORD read_length = DEFAULT_BUFER_SIZE; > - > + const char *sep_group = ";"; > + const char *sep_guid_pkey = ":,"; > ret = > RegOpenKeyEx(HKEY_LOCAL_MACHINE,IBBUS_SERV_KEY,0,KEY_SET_VALUE > | KEY_QUERY_VALUE ,reg_handle); > if (ERROR_SUCCESS != ret) > { > @@ -75,7 +76,57 @@ > if(retval > 4) > { > if(show) > - printf("Existing Pkey(s): > %s\n",partKey); > + { > + char *pkey_group, *pkey_group_next, > *pkey_guid, tmp; > + int i,j,k; > + unsigned short *guid_vstat; > + pkey_group = partKey; > + while(pkey_group && (*pkey_group != > '\0')) > + { > + pkey_group_next = > strstr(pkey_group,sep_group); > + if(pkey_group_next) > + *pkey_group_next = '\0'; > + pkey_guid = > strtok(pkey_group,sep_guid_pkey); > + i = 0; > + while(pkey_guid) > + { > + if(i == 0) > + { > + j = 1; > + for (k = > strlen(pkey_guid) -1; k > 1; k--) > + { > + if (j%2) > + { > + > tmp = pkey_guid[k -1]; > + > pkey_guid[k -1] = pkey_guid[k]; > + > pkey_guid[k] = tmp; > + } > + > printf("%c",pkey_guid[k]); > + if ((j%4 > == 0) && (k > 2)) > + { > + > printf(":"); > + > j = 1; > + } > + else > + > j++; > + } > + printf("\t"); > + } > + else > + { > + > printf("%s\t",pkey_guid); > + } > + pkey_guid = > strtok(NULL,sep_guid_pkey); > + if((++i)%5 == 0) > + > printf("\n\t\t\t"); > + } > + printf("\n\n"); > + if(pkey_group_next) > + pkey_group = > pkey_group_next + 1; > + else > + pkey_group = NULL; > + } > + } > } > else > retval = 0; > @@ -404,7 +455,6 @@ > if( 0 == > send_pdo_req(&pkeys,UAL_REQ_CREATE_PDO)) > { > ret = > RegOpenKeyEx(HKEY_LOCAL_MACHINE,IBBUS_SERV_KEY,0,KEY_SET_VALUE > | KEY_QUERY_VALUE ,®_handle); > - > ret = > RegSetValueEx(reg_handle,"PartitionKey",0,REG_SZ,(BYTE*)p_reg_ > string,reg > _length); > RegCloseKey( reg_handle ); > if (ERROR_SUCCESS == ret) > @@ -459,16 +509,21 @@ > int i; > unsigned short *guid_vstat; > guid_vstat = (unsigned > short*)&input->u.guid_pkey.port_guid; > - > sscanf(cmd[2],"%x:%x:%x:%x",&guid_vstat[0],&guid_vstat[1],&gui > d_vstat[2] > ,&guid_vstat[3]); > - for( i = 0; i < 4; i++) > - guid_vstat[i] = (guid_vstat[i] << 8) | > (guid_vstat[i] >> 8); > + if (4 == > sscanf(cmd[2],"%x:%x:%x:%x",&guid_vstat[0],&guid_vstat[1],&gui > d_vstat[2] > ,&guid_vstat[3])) > + { > + for( i = 0; i < 4; i++) > + guid_vstat[i] = (guid_vstat[i] << 8) | > (guid_vstat[i] >> 8); > + } > + else > + { > + goto bad_inp; > + } > } > else > { > - printf("port guid %s - illegal string format\n",cmd[2]); > - return 0; > + goto bad_inp; > } > - > + > for( i = 3; i < num; i++) > { > if((strstr(cmd[i],"ffff")) || > (strstr(cmd[i],"FFFF"))) @@ -480,6 +535,9 @@ > input->u.guid_pkey.pkey_num++; > } > return 1; > +bad_inp: > + printf("port guid %s - illegal port guid format, expected > xxxx:xxxx:xxxx:xxxx\n",cmd[2]); > + return 0; > } > > void partition_operation(char* cmd[],int num) > > _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
