From: Heidi N. <hei...@us...> - 2005-03-02 08:50:21
|
Update of /cvsroot/sblim/cmpi-base In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18035 Modified Files: CHANGE.LOG OSBase_ComputerSystem.c Log Message: fixed retrieval of LPARID on Power Index: CHANGE.LOG =================================================================== RCS file: /cvsroot/sblim/cmpi-base/CHANGE.LOG,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- CHANGE.LOG 1 Mar 2005 09:41:58 -0000 1.9 +++ CHANGE.LOG 2 Mar 2005 08:49:50 -0000 1.10 @@ -45,3 +45,8 @@ -> see README.IDICATION for more information // =================================================================== +// new in version 1.4.2 : + +* fixed retrieval of LPARID on Power + +// =================================================================== Index: OSBase_ComputerSystem.c =================================================================== RCS file: /cvsroot/sblim/cmpi-base/OSBase_ComputerSystem.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- OSBase_ComputerSystem.c 24 Jan 2005 11:29:05 -0000 1.8 +++ OSBase_ComputerSystem.c 2 Mar 2005 08:49:59 -0000 1.9 @@ -29,7 +29,13 @@ /* ---------------------------------------------------------------------------*/ // private declarations +#if defined (S390) #define LPARNAME "grep 'LPAR Name' /proc/sysinfo" +#endif + +#if defined (PPC) +#define LPARNAME "grep 'partition_id' /proc/ppc64/lparcfg" +#endif /* ---------------------------------------------------------------------------*/ @@ -75,16 +81,24 @@ memset(lparid,0,size); -#if defined (S390) +#if defined (S390) || defined (PPC) char **hdout = NULL; + char *ptr = NULL; char id[255]; if( runcommand(LPARNAME,NULL,&hdout,NULL)) { return -1; } if(hdout[0]) { +#if defined (S390) sscanf(hdout[0],"%*s %*s %s",id); +#endif +#if defined (PPC) + ptr=strchr(hdout[0],'='); + ptr+=1; + sscanf(ptr,"%s",id); +#endif if(strlen(id)>size) { return -1; } - strcpy(lparid,id) + strcpy(lparid,id); } return 0; #endif |