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 ,&reg_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

Reply via email to