[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference turris::decc_bugs

Title:DEC C Problem Reporting Forum
Notice:Report DEC C++ problems in TURRIS::C_PLUS_PLUS
Moderator:CXXC::REPETETCHEON
Created:Fri Nov 13 1992
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1299
Total number of notes:6249

1295.0. "fopen("foo.dat", "w"); generates file with LRL=32768" by CSC32::J_GRIFFIN () Thu May 22 1997 18:19

The following program generates the output foo.dat which has LRL=32768
    cc ablair.c
    link ablair
    run ablair
Trying to sort the output results in:
    %SORT-E-WRITEERR, error writing DISK36:[J_GRIFFIN]SORTWORK1.TMP;1
    -SYSTEM-F-EXDISKQUOTA, disk quota exceeded
    %SORT-F-EXTEND, unable to extend work file for needed space
The current workaround is to edit the file which changes the LRL=28.
The Customer uses this code on several platforms DEC, SUN, HP, etc
needs to have consistancy. Does not want to have to change code for
each platform. 
    
Before editing file
FOO.DAT;1                     File ID:  (14352,116,0)
Size:           15/15         Owner:    [ALPS_LST,J_GRIFFIN]
Created:   22-MAY-1997 14:24:02.42
Revised:   22-MAY-1997 14:24:02.84 (1)
Expires:   <None specified>
Backup:    <No backup recorded>
Effective: <None specified>
Recording: <None specified>
File organization:  Sequential
Shelved state:      Online
File attributes:    Allocation: 15, Extend: 0, Global buffer count: 0, No version limit
Record format:      Stream_LF, maximum 0 bytes, longest 32767 bytes
Record attributes:  Carriage return carriage control
RMS attributes:     None
Journaling enabled: None
File protection:    System:RWED, Owner:RWED, Group:RWE, World:R
Access Cntrl List:  None

After editing file to change attribute LRL
FOO.DAT;2                     File ID:  (59474,121,0)
Size:           15/15         Owner:    [ALPS_LST,J_GRIFFIN]
Created:   22-MAY-1997 14:34:44.58
Revised:   22-MAY-1997 14:34:44.79 (1)
Expires:   <None specified>
Backup:    <No backup recorded>
Effective: <None specified>
Recording: <None specified>
File organization:  Sequential
Shelved state:      Online
File attributes:    Allocation: 15, Extend: 0, Global buffer count: 0, No version limit
Record format:      Stream_LF, maximum 0 bytes, longest 28 bytes
Record attributes:  Carriage return carriage control
RMS attributes:     None
Journaling enabled: None
File protection:    System:RWED, Owner:RWED, Group:RWE, World:R
Access Cntrl List:  None

/* testcase for call # C970516-5431
 * Alan Blair, Teradyne, Inc. (617)-422-3233
 */

#include <stdio.h>
#define SIZE 256

main () {
  FILE *fp;
  long int i;
  fp = fopen ("foo.dat", "w");
/*  fp = fopen ("foo.dat", "w", "mrs=512"); */	/* NON PORTABLE */
  for (i=0; i<=SIZE; i++) {
    fprintf (fp, "%4d, original record # %4d\n", SIZE-i, i);
  }
  fclose (fp);
}
T.RTitleUserPersonal
Name
DateLines
1295.1sort with /format?MUCTEC::BECKERHartmut B., VMS &amp; Languages, MunichFri May 23 1997 05:426
If the longest record length is fix and known the sort command can use the
/format=record_size=<number> qualifier. I'm not sure when this input file
qualifier was introduced. It is available in V6.2 and later versions.

Hope this helps,
Hartmut
1295.2TLE::D_SMITHDuane Smith -- DEC C RTLFri May 23 1997 07:4613
    After the LRL change in the RTL, several people filed the same
    complaint in that sort uses the LRL to determine work file size.
    
    The DEC C Runtime Library still defaults to the large LRL value, but
    first looks for a logical name DECC$DEFAULT_LRL.  If that logical name
    exists, it translates it's value to the LRL to use.  You may find that
    setting this logical name:
    
      $  DEFINE DECC$DEFAULT_LRL 100
    
    meets your needs.
    
    Duane