[petsc-dev] Is there a reason for short arch and host names?
Barry Smith
bsmith at mcs.anl.gov
Fri Jul 27 18:04:42 CDT 2012
I absolutely hate sizeof arch. That is one of the most perverse things people can do in C. What is wrong with good-old sizeof(arch)?
Needs to go in the PETSc style guide :-)
Barry
On Jul 27, 2012, at 2:35 PM, Jed Brown wrote:
> I'm sick of truncated PETSC_ARCH in log_summary. Does anyone object to my pushing the following to petsc-3.3? Should we just make all the fields huge so we're guaranteed to get everything? Since pname can be as long as PETSC_MAX_PATH_LEN, this is not a line we can reasonably limit/align.
>
> --- a/src/sys/plog/plog.c
> +++ b/src/sys/plog/plog.c
> @@ -1269,7 +1269,7 @@
> PetscStageInfo *stageInfo = PETSC_NULL;
> PetscEventPerfInfo *eventInfo = PETSC_NULL;
> PetscClassPerfInfo *classInfo;
> - char arch[10], hostname[64], username[16], pname[PETSC_MAX_PATH_LEN], date[64];
> + char arch[64], hostname[128], username[16], pname[PETSC_MAX_PATH_LEN], date[64];
> const char *name;
> PetscLogDouble locTotalTime, TotalTime, TotalFlops;
> PetscLogDouble numMessages, messageLength, avgMessLen, numReductions;
> @@ -1311,12 +1311,12 @@
> ierr = PetscFPrintf(comm, fd, "*** WIDEN YOUR WINDOW TO 120 CHARACTERS. Use 'enscript -r -fCourier9' to print this document ***\n");CHKERRQ(ierr);
> ierr = PetscFPrintf(comm, fd, "************************************************************************************************************************\n");CHKERRQ(ierr);
> ierr = PetscFPrintf(comm, fd, "\n---------------------------------------------- PETSc Performance Summary: ----------------------------------------------\n\n");CHKERRQ(ierr);
> - ierr = PetscGetArchType(arch, 10);CHKERRQ(ierr);
> - ierr = PetscGetHostName(hostname, 64);CHKERRQ(ierr);
> - ierr = PetscGetUserName(username, 16);CHKERRQ(ierr);
> + ierr = PetscGetArchType(arch,sizeof arch);CHKERRQ(ierr);
> + ierr = PetscGetHostName(hostname,sizeof hostname);CHKERRQ(ierr);
> + ierr = PetscGetUserName(username,sizeof username);CHKERRQ(ierr);
> ierr = PetscGetProgramName(pname, PETSC_MAX_PATH_LEN);CHKERRQ(ierr);
> - ierr = PetscGetDate(date, 64);CHKERRQ(ierr);
> - ierr = PetscGetVersion(version,256);CHKERRQ(ierr);
> + ierr = PetscGetDate(date,sizeof date);CHKERRQ(ierr);
> + ierr = PetscGetVersion(version,sizeof version);CHKERRQ(ierr);
> if (size == 1) {
> ierr = PetscFPrintf(comm,fd,"%s on a %s named %s with %d processor, by %s %s\n", pname, arch, hostname, size, username, date);CHKERRQ(ierr);
> } else {
>
More information about the petsc-dev
mailing list