Lines 679-692
Link Here
|
679 |
ENTER( "RXTXPort:open" ); |
679 |
ENTER( "RXTXPort:open" ); |
680 |
if ( LOCK( filename, pid ) ) |
680 |
if ( LOCK( filename, pid ) ) |
681 |
{ |
681 |
{ |
682 |
sprintf( message, "open: locking has failed for %s\n", |
682 |
snprintf( message, sizeof(message), "open: locking has failed for %s\n", |
683 |
filename ); |
683 |
filename ); |
684 |
report( message ); |
684 |
report( message ); |
685 |
goto fail; |
685 |
goto fail; |
686 |
} |
686 |
} |
687 |
else |
687 |
else |
688 |
{ |
688 |
{ |
689 |
sprintf( message, "open: locking worked for %s\n", filename ); |
689 |
snprintf( message, sizeof(message), "open: locking worked for %s\n", filename ); |
690 |
report( message ); |
690 |
report( message ); |
691 |
} |
691 |
} |
692 |
/* This is used so DTR can remain low on 'open()' */ |
692 |
/* This is used so DTR can remain low on 'open()' */ |
Lines 712-718
Link Here
|
712 |
|
712 |
|
713 |
if (fd >= 0 && (ioctl(fd, TIOCEXCL) == -1)) |
713 |
if (fd >= 0 && (ioctl(fd, TIOCEXCL) == -1)) |
714 |
{ |
714 |
{ |
715 |
sprintf( message, "open: exclusive access denied for %s\n", |
715 |
snprintf( message, sizeof(message), "open: exclusive access denied for %s\n", |
716 |
filename ); |
716 |
filename ); |
717 |
report( message ); |
717 |
report( message ); |
718 |
report_error( message ); |
718 |
report_error( message ); |
Lines 724-730
Link Here
|
724 |
|
724 |
|
725 |
if( configure_port( fd ) ) goto fail; |
725 |
if( configure_port( fd ) ) goto fail; |
726 |
(*env)->ReleaseStringUTFChars( env, jstr, filename ); |
726 |
(*env)->ReleaseStringUTFChars( env, jstr, filename ); |
727 |
sprintf( message, "open: fd returned is %i\n", fd ); |
727 |
snprintf( message, sizeof(message), "open: fd returned is %i\n", fd ); |
728 |
report( message ); |
728 |
report( message ); |
729 |
LEAVE( "RXTXPort:open" ); |
729 |
LEAVE( "RXTXPort:open" ); |
730 |
report_time_end( ); |
730 |
report_time_end( ); |
Lines 1652-1658
Link Here
|
1652 |
count++; |
1652 |
count++; |
1653 |
} while (result && errno==EINTR && count <3); |
1653 |
} while (result && errno==EINTR && count <3); |
1654 |
|
1654 |
|
1655 |
sprintf( message, "RXTXPort:drain() returns: %i\n", result ); |
1655 |
snprintf( message, sizeof(message), "RXTXPort:drain() returns: %i\n", result ); |
1656 |
report_verbose( message ); |
1656 |
report_verbose( message ); |
1657 |
#if defined(__sun__) |
1657 |
#if defined(__sun__) |
1658 |
/* FIXME: No time to test on all OS's for production */ |
1658 |
/* FIXME: No time to test on all OS's for production */ |
Lines 1770-1776
Link Here
|
1770 |
|
1770 |
|
1771 |
ENTER( "RXTXPort:isDSR" ); |
1771 |
ENTER( "RXTXPort:isDSR" ); |
1772 |
ioctl( fd, TIOCMGET, &result ); |
1772 |
ioctl( fd, TIOCMGET, &result ); |
1773 |
sprintf( message, "RXTXPort:isDSR returns %i\n", result & TIOCM_DSR ); |
1773 |
snprintf( message, sizeof(message), "RXTXPort:isDSR returns %i\n", result & TIOCM_DSR ); |
1774 |
report( message ); |
1774 |
report( message ); |
1775 |
LEAVE( "RXTXPort:isDSR" ); |
1775 |
LEAVE( "RXTXPort:isDSR" ); |
1776 |
if( result & TIOCM_DSR ) return JNI_TRUE; |
1776 |
if( result & TIOCM_DSR ) return JNI_TRUE; |
Lines 1800-1806
Link Here
|
1800 |
|
1800 |
|
1801 |
ENTER( "RXTXPort:isCD" ); |
1801 |
ENTER( "RXTXPort:isCD" ); |
1802 |
ioctl( fd, TIOCMGET, &result ); |
1802 |
ioctl( fd, TIOCMGET, &result ); |
1803 |
sprintf( message, "RXTXPort:isCD returns %i\n", result & TIOCM_CD ); |
1803 |
snprintf( message, sizeof(message), "RXTXPort:isCD returns %i\n", result & TIOCM_CD ); |
1804 |
LEAVE( "RXTXPort:isCD" ); |
1804 |
LEAVE( "RXTXPort:isCD" ); |
1805 |
if( result & TIOCM_CD ) return JNI_TRUE; |
1805 |
if( result & TIOCM_CD ) return JNI_TRUE; |
1806 |
else return JNI_FALSE; |
1806 |
else return JNI_FALSE; |
Lines 1825-1831
Link Here
|
1825 |
|
1825 |
|
1826 |
ENTER( "RXTXPort:isCTS" ); |
1826 |
ENTER( "RXTXPort:isCTS" ); |
1827 |
ioctl( fd, TIOCMGET, &result ); |
1827 |
ioctl( fd, TIOCMGET, &result ); |
1828 |
sprintf( message, "RXTXPort:isCTS returns %i\n", result & TIOCM_CTS ); |
1828 |
snprintf( message, sizeof(message), "RXTXPort:isCTS returns %i\n", result & TIOCM_CTS ); |
1829 |
report( message ); |
1829 |
report( message ); |
1830 |
LEAVE( "RXTXPort:isCTS" ); |
1830 |
LEAVE( "RXTXPort:isCTS" ); |
1831 |
if( result & TIOCM_CTS ) return JNI_TRUE; |
1831 |
if( result & TIOCM_CTS ) return JNI_TRUE; |
Lines 1851-1857
Link Here
|
1851 |
|
1851 |
|
1852 |
ENTER( "RXTXPort:isRI" ); |
1852 |
ENTER( "RXTXPort:isRI" ); |
1853 |
ioctl( fd, TIOCMGET, &result ); |
1853 |
ioctl( fd, TIOCMGET, &result ); |
1854 |
sprintf( message, "RXTXPort:isRI returns %i\n", result & TIOCM_RI ); |
1854 |
snprintf( message, sizeof(message), "RXTXPort:isRI returns %i\n", result & TIOCM_RI ); |
1855 |
report( message ); |
1855 |
report( message ); |
1856 |
LEAVE( "RXTXPort:isRI" ); |
1856 |
LEAVE( "RXTXPort:isRI" ); |
1857 |
if( result & TIOCM_RI ) return JNI_TRUE; |
1857 |
if( result & TIOCM_RI ) return JNI_TRUE; |
Lines 1877-1883
Link Here
|
1877 |
|
1877 |
|
1878 |
ENTER( "RXTXPort:isRTS" ); |
1878 |
ENTER( "RXTXPort:isRTS" ); |
1879 |
ioctl( fd, TIOCMGET, &result ); |
1879 |
ioctl( fd, TIOCMGET, &result ); |
1880 |
sprintf( message, "RXTXPort:isRTS returns %i\n", result & TIOCM_RTS ); |
1880 |
snprintf( message, sizeof(message), "RXTXPort:isRTS returns %i\n", result & TIOCM_RTS ); |
1881 |
report( message ); |
1881 |
report( message ); |
1882 |
LEAVE( "RXTXPort:isRTS" ); |
1882 |
LEAVE( "RXTXPort:isRTS" ); |
1883 |
if( result & TIOCM_RTS ) return JNI_TRUE; |
1883 |
if( result & TIOCM_RTS ) return JNI_TRUE; |
Lines 1907-1913
Link Here
|
1907 |
if( state == JNI_TRUE ) result |= TIOCM_RTS; |
1907 |
if( state == JNI_TRUE ) result |= TIOCM_RTS; |
1908 |
else result &= ~TIOCM_RTS; |
1908 |
else result &= ~TIOCM_RTS; |
1909 |
ioctl( fd, TIOCMSET, &result ); |
1909 |
ioctl( fd, TIOCMSET, &result ); |
1910 |
sprintf( message, "setRTS( %i )\n", state ); |
1910 |
snprintf( message, sizeof(message), "setRTS( %i )\n", state ); |
1911 |
report( message ); |
1911 |
report( message ); |
1912 |
LEAVE( "RXTXPort:setRTS" ); |
1912 |
LEAVE( "RXTXPort:setRTS" ); |
1913 |
return; |
1913 |
return; |
Lines 1934-1944
Link Here
|
1934 |
ENTER( "RXTXPort:setDSR()" ); |
1934 |
ENTER( "RXTXPort:setDSR()" ); |
1935 |
ioctl( fd, TIOCMGET, &result ); |
1935 |
ioctl( fd, TIOCMGET, &result ); |
1936 |
|
1936 |
|
1937 |
sprintf( message, "setDSR( %i )\n", state ); |
1937 |
snprintf( message, sizeof(message), "setDSR( %i )\n", state ); |
1938 |
if( state == JNI_TRUE ) result |= TIOCM_DSR; |
1938 |
if( state == JNI_TRUE ) result |= TIOCM_DSR; |
1939 |
else result &= ~TIOCM_DSR; |
1939 |
else result &= ~TIOCM_DSR; |
1940 |
ioctl( fd, TIOCMSET, &result ); |
1940 |
ioctl( fd, TIOCMSET, &result ); |
1941 |
sprintf( message, "setDSR( %i )\n", state ); |
1941 |
snprintf( message, sizeof(message), "setDSR( %i )\n", state ); |
1942 |
report( message ); |
1942 |
report( message ); |
1943 |
LEAVE( "RXTXPort:setDSR()" ); |
1943 |
LEAVE( "RXTXPort:setDSR()" ); |
1944 |
return; |
1944 |
return; |
Lines 1963-1969
Link Here
|
1963 |
|
1963 |
|
1964 |
ENTER( "RXTXPort:isDTR" ); |
1964 |
ENTER( "RXTXPort:isDTR" ); |
1965 |
ioctl( fd, TIOCMGET, &result ); |
1965 |
ioctl( fd, TIOCMGET, &result ); |
1966 |
sprintf( message, "isDTR( ) returns %i\n", result& TIOCM_DTR ); |
1966 |
snprintf( message, sizeof(message), "isDTR( ) returns %i\n", result& TIOCM_DTR ); |
1967 |
report( message ); |
1967 |
report( message ); |
1968 |
LEAVE( "RXTXPort:isDTR" ); |
1968 |
LEAVE( "RXTXPort:isDTR" ); |
1969 |
if( result & TIOCM_DTR ) return JNI_TRUE; |
1969 |
if( result & TIOCM_DTR ) return JNI_TRUE; |
Lines 1992-1998
Link Here
|
1992 |
if( state == JNI_TRUE ) result |= TIOCM_DTR; |
1992 |
if( state == JNI_TRUE ) result |= TIOCM_DTR; |
1993 |
else result &= ~TIOCM_DTR; |
1993 |
else result &= ~TIOCM_DTR; |
1994 |
ioctl( fd, TIOCMSET, &result ); |
1994 |
ioctl( fd, TIOCMSET, &result ); |
1995 |
sprintf( message, "setDTR( %i )\n", state ); |
1995 |
snprintf( message, sizeof(message), "setDTR( %i )\n", state ); |
1996 |
report( message ); |
1996 |
report( message ); |
1997 |
LEAVE( "RXTXPort:setDTR" ); |
1997 |
LEAVE( "RXTXPort:setDTR" ); |
1998 |
return; |
1998 |
return; |
Lines 2531-2537
Link Here
|
2531 |
return JNI_FALSE; |
2531 |
return JNI_FALSE; |
2532 |
} |
2532 |
} |
2533 |
ioctl( fd, TIOCMGET, &result ); |
2533 |
ioctl( fd, TIOCMGET, &result ); |
2534 |
sprintf( message, "nativeStaticIsRTS( ) returns %i\n", result& TIOCM_RTS ); |
2534 |
snprintf( message, sizeof(message), "nativeStaticIsRTS( ) returns %i\n", result& TIOCM_RTS ); |
2535 |
report( message ); |
2535 |
report( message ); |
2536 |
LEAVE( "RXTXPort:nativeStaticIsRTS" ); |
2536 |
LEAVE( "RXTXPort:nativeStaticIsRTS" ); |
2537 |
if( result & TIOCM_RTS ) return JNI_TRUE; |
2537 |
if( result & TIOCM_RTS ) return JNI_TRUE; |
Lines 2563-2569
Link Here
|
2563 |
return JNI_FALSE; |
2563 |
return JNI_FALSE; |
2564 |
} |
2564 |
} |
2565 |
ioctl( fd, TIOCMGET, &result ); |
2565 |
ioctl( fd, TIOCMGET, &result ); |
2566 |
sprintf( message, "nativeStaticIsDSR( ) returns %i\n", result& TIOCM_DSR ); |
2566 |
snprintf( message, sizeof(message), "nativeStaticIsDSR( ) returns %i\n", result& TIOCM_DSR ); |
2567 |
report( message ); |
2567 |
report( message ); |
2568 |
LEAVE( "RXTXPort:nativeStaticIsDSR" ); |
2568 |
LEAVE( "RXTXPort:nativeStaticIsDSR" ); |
2569 |
if( result & TIOCM_DSR ) return JNI_TRUE; |
2569 |
if( result & TIOCM_DSR ) return JNI_TRUE; |
Lines 2595-2601
Link Here
|
2595 |
return JNI_FALSE; |
2595 |
return JNI_FALSE; |
2596 |
} |
2596 |
} |
2597 |
ioctl( fd, TIOCMGET, &result ); |
2597 |
ioctl( fd, TIOCMGET, &result ); |
2598 |
sprintf( message, "nativeStaticIsDTR( ) returns %i\n", result& TIOCM_DTR ); |
2598 |
snprintf( message, sizeof(message), "nativeStaticIsDTR( ) returns %i\n", result& TIOCM_DTR ); |
2599 |
report( message ); |
2599 |
report( message ); |
2600 |
LEAVE( "RXTXPort:nativeStaticIsDTR" ); |
2600 |
LEAVE( "RXTXPort:nativeStaticIsDTR" ); |
2601 |
if( result & TIOCM_DTR ) return JNI_TRUE; |
2601 |
if( result & TIOCM_DTR ) return JNI_TRUE; |
Lines 2627-2633
Link Here
|
2627 |
return JNI_FALSE; |
2627 |
return JNI_FALSE; |
2628 |
} |
2628 |
} |
2629 |
ioctl( fd, TIOCMGET, &result ); |
2629 |
ioctl( fd, TIOCMGET, &result ); |
2630 |
sprintf( message, "nativeStaticIsCD( ) returns %i\n", result& TIOCM_CD ); |
2630 |
snprintf( message, sizeof(message), "nativeStaticIsCD( ) returns %i\n", result& TIOCM_CD ); |
2631 |
report( message ); |
2631 |
report( message ); |
2632 |
LEAVE( "RXTXPort:nativeStaticIsCD" ); |
2632 |
LEAVE( "RXTXPort:nativeStaticIsCD" ); |
2633 |
if( result & TIOCM_CD ) return JNI_TRUE; |
2633 |
if( result & TIOCM_CD ) return JNI_TRUE; |
Lines 2659-2665
Link Here
|
2659 |
return JNI_FALSE; |
2659 |
return JNI_FALSE; |
2660 |
} |
2660 |
} |
2661 |
ioctl( fd, TIOCMGET, &result ); |
2661 |
ioctl( fd, TIOCMGET, &result ); |
2662 |
sprintf( message, "nativeStaticIsCTS( ) returns %i\n", result& TIOCM_CTS ); |
2662 |
snprintf( message, sizeof(message), "nativeStaticIsCTS( ) returns %i\n", result& TIOCM_CTS ); |
2663 |
report( message ); |
2663 |
report( message ); |
2664 |
LEAVE( "RXTXPort:nativeStaticIsCTS" ); |
2664 |
LEAVE( "RXTXPort:nativeStaticIsCTS" ); |
2665 |
if( result & TIOCM_CTS ) return JNI_TRUE; |
2665 |
if( result & TIOCM_CTS ) return JNI_TRUE; |
Lines 2691-2697
Link Here
|
2691 |
return JNI_FALSE; |
2691 |
return JNI_FALSE; |
2692 |
} |
2692 |
} |
2693 |
ioctl( fd, TIOCMGET, &result ); |
2693 |
ioctl( fd, TIOCMGET, &result ); |
2694 |
sprintf( message, "nativeStaticRI( ) returns %i\n", result& TIOCM_RI ); |
2694 |
snprintf( message, sizeof(message), "nativeStaticRI( ) returns %i\n", result& TIOCM_RI ); |
2695 |
report( message ); |
2695 |
report( message ); |
2696 |
LEAVE( "RXTXPort:nativeStaticIsRI" ); |
2696 |
LEAVE( "RXTXPort:nativeStaticIsRI" ); |
2697 |
if( result & TIOCM_RI ) return JNI_TRUE; |
2697 |
if( result & TIOCM_RI ) return JNI_TRUE; |
Lines 3897-3903
Link Here
|
3897 |
char message[80]; |
3897 |
char message[80]; |
3898 |
|
3898 |
|
3899 |
rc = ioctl( eis->fd, FIONREAD, &change ); |
3899 |
rc = ioctl( eis->fd, FIONREAD, &change ); |
3900 |
sprintf( message, "port_has_changed_fionread: change is %i ret is %i\n", change, eis->ret ); |
3900 |
snprintf( message, sizeof(message), "port_has_changed_fionread: change is %i ret is %i\n", change, eis->ret ); |
3901 |
#if defined(__unixware__) || defined(__sun__) |
3901 |
#if defined(__unixware__) || defined(__sun__) |
3902 |
/* |
3902 |
/* |
3903 |
On SCO OpenServer FIONREAD always fails for serial devices, |
3903 |
On SCO OpenServer FIONREAD always fails for serial devices, |
Lines 3908-3914
Link Here
|
3908 |
if( (rc != -1 && change) || (rc == -1 && eis->ret > 0) ) |
3908 |
if( (rc != -1 && change) || (rc == -1 && eis->ret > 0) ) |
3909 |
return( 1 ); |
3909 |
return( 1 ); |
3910 |
#else |
3910 |
#else |
3911 |
sprintf( message, "port_has_changed_fionread: change is %i\n", change ); |
3911 |
snprintf( message, sizeof(message), "port_has_changed_fionread: change is %i\n", change ); |
3912 |
report_verbose( message ); |
3912 |
report_verbose( message ); |
3913 |
if( change ) |
3913 |
if( change ) |
3914 |
return( 1 ); |
3914 |
return( 1 ); |
Lines 4316-4322
Link Here
|
4316 |
if( !strcmp( name, "COM1" ) || !strcmp( name, "COM2") ) |
4316 |
if( !strcmp( name, "COM1" ) || !strcmp( name, "COM2") ) |
4317 |
{ |
4317 |
{ |
4318 |
printf("%s is good\n",name); |
4318 |
printf("%s is good\n",name); |
4319 |
sprintf( message, "testRead: %s is good!\n", name ); |
4319 |
snprintf( message, sizeof(message), "testRead: %s is good!\n", name ); |
4320 |
report( message ); |
4320 |
report( message ); |
4321 |
(*env)->ReleaseStringUTFChars( env, tty_name, name ); |
4321 |
(*env)->ReleaseStringUTFChars( env, tty_name, name ); |
4322 |
return( JNI_TRUE ); |
4322 |
return( JNI_TRUE ); |
Lines 4661-4667
Link Here
|
4661 |
case PORT_TYPE_RS485: break; |
4661 |
case PORT_TYPE_RS485: break; |
4662 |
case PORT_TYPE_RAW: break; |
4662 |
case PORT_TYPE_RAW: break; |
4663 |
default: |
4663 |
default: |
4664 |
sprintf( message, "unknown portType %d handed to \ |
4664 |
snprintf( message, sizeof(message), "unknown portType %d handed to \ |
4665 |
native RXTXCommDriver.registerKnownPorts() \ |
4665 |
native RXTXCommDriver.registerKnownPorts() \ |
4666 |
method.\n", |
4666 |
method.\n", |
4667 |
(int) portType |
4667 |
(int) portType |
Lines 5301-5307
Link Here
|
5301 |
} |
5301 |
} |
5302 |
if ( dev_lock( filename ) ) |
5302 |
if ( dev_lock( filename ) ) |
5303 |
{ |
5303 |
{ |
5304 |
sprintf( message, |
5304 |
snprintf( message,sizeof(message), |
5305 |
"RXTX fhs_lock() Error: creating lock file for: %s: %s\n", |
5305 |
"RXTX fhs_lock() Error: creating lock file for: %s: %s\n", |
5306 |
filename, strerror(errno) ); |
5306 |
filename, strerror(errno) ); |
5307 |
report_error( message ); |
5307 |
report_error( message ); |
Lines 5361-5374
Link Here
|
5361 |
fd = open( file, O_CREAT | O_WRONLY | O_EXCL, 0444 ); |
5361 |
fd = open( file, O_CREAT | O_WRONLY | O_EXCL, 0444 ); |
5362 |
if( fd < 0 ) |
5362 |
if( fd < 0 ) |
5363 |
{ |
5363 |
{ |
5364 |
sprintf( message, |
5364 |
snprintf( message,sizeof(message), |
5365 |
"RXTX fhs_lock() Error: creating lock file: %s: %s\n", |
5365 |
"RXTX fhs_lock() Error: creating lock file: %s: %s\n", |
5366 |
file, strerror(errno) ); |
5366 |
file, strerror(errno) ); |
5367 |
report_error( message ); |
5367 |
report_error( message ); |
5368 |
return 1; |
5368 |
return 1; |
5369 |
} |
5369 |
} |
5370 |
sprintf( lockinfo, "%10d\n",(int) getpid() ); |
5370 |
sprintf( lockinfo, "%10d\n",(int) getpid() ); |
5371 |
sprintf( message, "fhs_lock: creating lockfile: %s\n", lockinfo ); |
5371 |
snprintf( message, sizeof(message), "fhs_lock: creating lockfile: %s\n", lockinfo ); |
5372 |
report( message ); |
5372 |
report( message ); |
5373 |
write( fd, lockinfo, 11 ); |
5373 |
write( fd, lockinfo, 11 ); |
5374 |
close( fd ); |
5374 |
close( fd ); |
Lines 5424-5430
Link Here
|
5424 |
int fd; |
5424 |
int fd; |
5425 |
struct stat buf; |
5425 |
struct stat buf; |
5426 |
|
5426 |
|
5427 |
sprintf( message, "uucp_lock( %s );\n", filename ); |
5427 |
snprintf( message, sizeof(message), "uucp_lock( %s );\n", filename ); |
5428 |
report( message ); |
5428 |
report( message ); |
5429 |
|
5429 |
|
5430 |
if ( check_lock_status( filename ) ) |
5430 |
if ( check_lock_status( filename ) ) |
Lines 5440-5446
Link Here
|
5440 |
if ( stat( filename, &buf ) != 0 ) |
5440 |
if ( stat( filename, &buf ) != 0 ) |
5441 |
{ |
5441 |
{ |
5442 |
report( "RXTX uucp_lock() could not find device.\n" ); |
5442 |
report( "RXTX uucp_lock() could not find device.\n" ); |
5443 |
sprintf( message, "uucp_lock: device was %s\n", name ); |
5443 |
snprintf( message, sizeof(message), "uucp_lock: device was %s\n", name ); |
5444 |
report( message ); |
5444 |
report( message ); |
5445 |
return 1; |
5445 |
return 1; |
5446 |
} |
5446 |
} |
Lines 5453-5459
Link Here
|
5453 |
sprintf( lockinfo, "%10d\n", (int) getpid() ); |
5453 |
sprintf( lockinfo, "%10d\n", (int) getpid() ); |
5454 |
if ( stat( lockfilename, &buf ) == 0 ) |
5454 |
if ( stat( lockfilename, &buf ) == 0 ) |
5455 |
{ |
5455 |
{ |
5456 |
sprintf( message, "RXTX uucp_lock() %s is there\n", |
5456 |
snprintf( message, sizeof(message), "RXTX uucp_lock() %s is there\n", |
5457 |
lockfilename ); |
5457 |
lockfilename ); |
5458 |
report( message ); |
5458 |
report( message ); |
5459 |
report_error( message ); |
5459 |
report_error( message ); |
Lines 5462-5468
Link Here
|
5462 |
fd = open( lockfilename, O_CREAT | O_WRONLY | O_EXCL, 0444 ); |
5462 |
fd = open( lockfilename, O_CREAT | O_WRONLY | O_EXCL, 0444 ); |
5463 |
if( fd < 0 ) |
5463 |
if( fd < 0 ) |
5464 |
{ |
5464 |
{ |
5465 |
sprintf( message, |
5465 |
snprintf( message, sizeof(message), |
5466 |
"RXTX uucp_lock() Error: creating lock file: %s\n", |
5466 |
"RXTX uucp_lock() Error: creating lock file: %s\n", |
5467 |
lockfilename ); |
5467 |
lockfilename ); |
5468 |
report_error( message ); |
5468 |
report_error( message ); |
Lines 5560-5566
Link Here
|
5560 |
char file[80], message[80]; |
5560 |
char file[80], message[80]; |
5561 |
/* FIXME */ |
5561 |
/* FIXME */ |
5562 |
|
5562 |
|
5563 |
sprintf( message, "uucp_unlock( %s );\n", filename ); |
5563 |
snprintf( message, sizeof(message), "uucp_unlock( %s );\n", filename ); |
5564 |
report( message ); |
5564 |
report( message ); |
5565 |
|
5565 |
|
5566 |
if ( stat( filename, &buf ) != 0 ) |
5566 |
if ( stat( filename, &buf ) != 0 ) |
Lines 5582-5594
Link Here
|
5582 |
} |
5582 |
} |
5583 |
if( !check_lock_pid( file, openpid ) ) |
5583 |
if( !check_lock_pid( file, openpid ) ) |
5584 |
{ |
5584 |
{ |
5585 |
sprintf( message, "uucp_unlock: unlinking %s\n", file ); |
5585 |
snprintf( message, sizeof(message), "uucp_unlock: unlinking %s\n", file ); |
5586 |
report( message ); |
5586 |
report( message ); |
5587 |
unlink(file); |
5587 |
unlink(file); |
5588 |
} |
5588 |
} |
5589 |
else |
5589 |
else |
5590 |
{ |
5590 |
{ |
5591 |
sprintf( message, "uucp_unlock: unlinking failed %s\n", file ); |
5591 |
snprintf( message, sizeof(message), "uucp_unlock: unlinking failed %s\n", file ); |
5592 |
report( message ); |
5592 |
report( message ); |
5593 |
} |
5593 |
} |
5594 |
} |
5594 |
} |
Lines 5624-5630
Link Here
|
5624 |
/* Native threads JVM's have multiple pids */ |
5624 |
/* Native threads JVM's have multiple pids */ |
5625 |
if ( lockpid != getpid() && lockpid != getppid() && lockpid != openpid ) |
5625 |
if ( lockpid != getpid() && lockpid != getppid() && lockpid != openpid ) |
5626 |
{ |
5626 |
{ |
5627 |
sprintf(message, "check_lock_pid: lock = %s pid = %i gpid=%i openpid=%i\n", |
5627 |
snprintf(message, sizeof(message), "check_lock_pid: lock = %s pid = %i gpid=%i openpid=%i\n", |
5628 |
pid_buffer, (int) getpid(), (int) getppid(), openpid ); |
5628 |
pid_buffer, (int) getpid(), (int) getppid(), openpid ); |
5629 |
report( message ); |
5629 |
report( message ); |
5630 |
return( 1 ); |
5630 |
return( 1 ); |
Lines 5860-5866
Link Here
|
5860 |
lockprefixes[k], p ); |
5860 |
lockprefixes[k], p ); |
5861 |
if( stat( file, &buf ) == 0 ) |
5861 |
if( stat( file, &buf ) == 0 ) |
5862 |
{ |
5862 |
{ |
5863 |
sprintf( message, UNEXPECTED_LOCK_FILE, |
5863 |
snprintf( message, sizeof(message), UNEXPECTED_LOCK_FILE, |
5864 |
file ); |
5864 |
file ); |
5865 |
report_warning( message ); |
5865 |
report_warning( message ); |
5866 |
return 1; |
5866 |
return 1; |
Lines 5877-5883
Link Here
|
5877 |
); |
5877 |
); |
5878 |
if( stat( file, &buf ) == 0 ) |
5878 |
if( stat( file, &buf ) == 0 ) |
5879 |
{ |
5879 |
{ |
5880 |
sprintf( message, UNEXPECTED_LOCK_FILE, |
5880 |
snprintf( message, sizeof(message), UNEXPECTED_LOCK_FILE, |
5881 |
file ); |
5881 |
file ); |
5882 |
report_warning( message ); |
5882 |
report_warning( message ); |
5883 |
return 1; |
5883 |
return 1; |
Lines 5934-5940
Link Here
|
5934 |
|
5934 |
|
5935 |
if( kill( (pid_t) pid, 0 ) && errno==ESRCH ) |
5935 |
if( kill( (pid_t) pid, 0 ) && errno==ESRCH ) |
5936 |
{ |
5936 |
{ |
5937 |
sprintf( message, |
5937 |
snprintf( message,sizeof(message), |
5938 |
"RXTX Warning: Removing stale lock file. %s\n", |
5938 |
"RXTX Warning: Removing stale lock file. %s\n", |
5939 |
file ); |
5939 |
file ); |
5940 |
report_warning( message ); |
5940 |
report_warning( message ); |