Changeset 3cf8394 in rtems for c/src/libfs/src


Ignore:
Timestamp:
Feb 24, 1999, 8:58:47 PM (23 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
0ce4728
Parents:
32a98d2
Message:

Changed IMFS to use IMFS_NAME_MAX as the maximum length of a basename
rather then NAME_MAX. NAME_MAX is 255 and that lets IMFS chew up memory
too fast. Perhaps in the future, the places in IMFS that put a maximum
length name string on the stack and the jnode structure does not include
a maximu length name string can be fixed so this is not a problem.

Location:
c/src/libfs/src/imfs
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • c/src/libfs/src/imfs/imfs.h

    r32a98d2 r3cf8394  
    127127
    128128/*
     129 *  Maximum length of a "basename" of an IMFS file/node.
     130 */
     131
     132#define IMFS_NAME_MAX  32
     133
     134/*
    129135 *  The control structure for an IMFS jnode.
    130136 */
    131137
    132138struct IMFS_jnode_tt {
    133   Chain_Node               Node;             /* for chaining them together */
    134   IMFS_jnode_t            *Parent;           /* Parent node */
    135   char                     name[NAME_MAX+1]; /* "basename" */
    136   mode_t                   st_mode;          /* File mode */
    137   nlink_t                  st_nlink;         /* Link count */
    138   ino_t                    st_ino;           /* inode */
    139 
    140   uid_t                    st_uid;           /* User ID of owner */
    141   gid_t                    st_gid;           /* Group ID of owner */
    142 
    143   time_t                   st_atime;         /* Time of last access */
    144   time_t                   st_mtime;         /* Time of last modification */
    145   time_t                   st_ctime;         /* Time of last status change */
    146   IMFS_jnode_types_t       type;             /* Type of this entry */
    147   IMFS_types_union         info;
     139  Chain_Node          Node;                  /* for chaining them together */
     140  IMFS_jnode_t       *Parent;                /* Parent node */
     141  char                name[IMFS_NAME_MAX+1]; /* "basename" */
     142  mode_t              st_mode;               /* File mode */
     143  nlink_t             st_nlink;              /* Link count */
     144  ino_t               st_ino;                /* inode */
     145
     146  uid_t               st_uid;                /* User ID of owner */
     147  gid_t               st_gid;                /* Group ID of owner */
     148
     149  time_t              st_atime;              /* Time of last access */
     150  time_t              st_mtime;              /* Time of last modification */
     151  time_t              st_ctime;              /* Time of last status change */
     152  IMFS_jnode_types_t  type;                  /* Type of this entry */
     153  IMFS_types_union    info;
    148154};
    149155
  • c/src/libfs/src/imfs/imfs_creat.c

    r32a98d2 r3cf8394  
    5252  node->st_nlink = 1;
    5353  node->type     = type;
    54   strncpy( node->name, name, NAME_MAX );
     54  strncpy( node->name, name, IMFS_NAME_MAX );
    5555
    5656  /*
  • c/src/libfs/src/imfs/imfs_eval.c

    r32a98d2 r3cf8394  
    278278  int                                 len;
    279279  IMFS_token_types                    type;
    280   char                                token[ NAME_MAX + 1 ];
     280  char                                token[ IMFS_NAME_MAX + 1 ];
    281281  rtems_filesystem_location_info_t    newloc;
    282282  IMFS_jnode_t                       *node;
     
    468468  int                                 len;
    469469  IMFS_token_types                    type = IMFS_CURRENT_DIR;
    470   char                                token[ NAME_MAX + 1 ];
     470  char                                token[ IMFS_NAME_MAX + 1 ];
    471471  rtems_filesystem_location_info_t    newloc;
    472472  IMFS_jnode_t                       *node;
  • c/src/libfs/src/imfs/imfs_gtkn.c

    r32a98d2 r3cf8394  
    3333   */
    3434
    35   while ( !IMFS_is_separator( path[i] ) && (i <= NAME_MAX) ) {
     35  while ( !IMFS_is_separator( path[i] ) && (i <= IMFS_NAME_MAX) ) {
    3636
    3737     token[i] = path[i];
    3838
    39      if (i == NAME_MAX)
     39     if (i == IMFS_NAME_MAX)
    4040       return IMFS_INVALID_TOKEN;
    4141
  • c/src/libfs/src/imfs/imfs_link.c

    r32a98d2 r3cf8394  
    2929  IMFS_types_union   info;
    3030  IMFS_jnode_t      *new_node;
    31   char               new_name[ NAME_MAX + 1 ];
     31  char               new_name[ IMFS_NAME_MAX + 1 ];
    3232  int                i;
    3333
  • c/src/libfs/src/imfs/imfs_mknod.c

    r32a98d2 r3cf8394  
    3636  IMFS_jnode_t      *new_node;
    3737  int                result;
    38   char               new_name[ NAME_MAX + 1 ];
     38  char               new_name[ IMFS_NAME_MAX + 1 ];
    3939  IMFS_types_union   info;
    4040 
  • c/src/libfs/src/imfs/imfs_symlink.c

    r32a98d2 r3cf8394  
    2929  IMFS_types_union   info;
    3030  IMFS_jnode_t      *new_node;
    31   char               new_name[ NAME_MAX + 1 ];
     31  char               new_name[ IMFS_NAME_MAX + 1 ];
    3232  int                i;
    3333
Note: See TracChangeset for help on using the changeset viewer.