Increase maximum file name length to 255 (Windows & Linux).

This commit is contained in:
Renaud 2016-03-19 11:37:54 +08:00
parent 187b0ce4a3
commit a0ea6d07e6
3 changed files with 22 additions and 20 deletions

View File

@ -4,8 +4,8 @@
#include "crypt.h"
#include "line.h"
typedef char fname_t[ 80] ; /* file name type */
typedef char bname_t[ 16] ; /* buffer name type */
typedef char fname_t[ 256] ; /* file name type */
typedef char bname_t[ 16] ; /* buffer name type */
#define NBUFN sizeof( bname_t)
#if CRYPT

29
file.c
View File

@ -537,21 +537,24 @@ int filewrite( int f, int n) {
status = newmlarg( &fname, "Write file: ", sizeof( fname_t)) ;
if( status == TRUE) {
status = writeout( fname) ;
if( status == TRUE) {
struct window *wp ;
if( strlen( fname) > sizeof( fname_t) - 1)
status = FALSE ;
else {
status = writeout( fname) ;
if( status == TRUE) {
struct window *wp ;
strncpy( curbp->b_fname, fname, sizeof( fname_t) - 1) ;
curbp->b_fname[ sizeof( fname_t) - 1] = '\0' ;
curbp->b_flag &= ~BFCHG ;
wp = wheadp ; /* Update mode lines. */
while( wp != NULL) {
if( wp->w_bufp == curbp)
wp->w_flag |= WFMODE ;
strcpy( curbp->b_fname, fname) ;
curbp->b_flag &= ~BFCHG ;
wp = wheadp ; /* Update mode lines. */
while( wp != NULL) {
if( wp->w_bufp == curbp)
wp->w_flag |= WFMODE ;
wp = wp->w_wndp ;
}
}
wp = wp->w_wndp ;
}
}
}
free( fname) ;
}

View File

@ -28,17 +28,14 @@ insert-string 123456789012345678901234567890123456789012345678901234567890123456
next-line
insert-string _________1_________2_________3_________4_________5_________6_________7_________8_________9_________0_________1_________2_________3
next-line
; Create and insert string variable until size exceed string limit [will be truncated to NSTRING - 1 (127)
; Create and insert string variable until size exceed 1024 characters or variable get truncated
set %nam 123
set %expect &len %nam
!while &equ &len %nam %expect
!while &and &les %expect 1024 &equ &len %nam %expect
insert-string %nam
newline
set %nam &cat %nam %nam
set %expect &tim %expect 2
!if &not &les %expect 1024
!break
!endif
!endwhile
insert-string %nam
newline
@ -47,6 +44,7 @@ newline
insert-string &cat "Expected: " %expect
newline
; Use the variable as filename [will be truncated to NFILEN - 1 (79)]
set %nam &mid %nam 1 255
write-file %nam
insert-string &cat "Filename: " $cfname
newline
@ -71,3 +69,4 @@ set-mark
end-of-file
copy-region
insert-string $kill
redraw-display