Linux server.nvwebsoft.co.in 3.10.0-1160.114.2.el7.x86_64 #1 SMP Wed Mar 20 15:54:52 UTC 2024 x86_64
Apache
: 162.240.12.249 | : 3.144.21.237
202 Domain
8.1.31
nbspublicschool
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
readline-devel-6.2 /
[ HOME SHELL ]
Name
Size
Permission
Action
rlfe
[ DIR ]
drwxr-xr-x
excallback.c
5.6
KB
-rw-r--r--
fileman.c
11.16
KB
-rw-r--r--
histexamp.c
2.82
KB
-rw-r--r--
manexamp.c
3.22
KB
-rw-r--r--
readlinebuf.h
3.36
KB
-rw-r--r--
rl-fgets.c
10.89
KB
-rw-r--r--
rl.c
3.1
KB
-rw-r--r--
rlcat.c
3.22
KB
-rw-r--r--
rlevent.c
3.22
KB
-rw-r--r--
rlptytest.c
6.38
KB
-rw-r--r--
rltest.c
2.1
KB
-rw-r--r--
rlversion.c
1.26
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : readlinebuf.h
/******************************************************************************* * $Revision: 1.2 $ * $Date: 2001/09/11 06:19:36 $ * $Author: vyzo $ * * Contents: A streambuf which uses the GNU readline library for line I/O * (c) 2001 by Dimitris Vyzovitis [vyzo@media.mit.edu] * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program; if not, write to the Free * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * ******************************************************************************/ #ifndef _READLINEBUF_H_ #define _READLINEBUF_H_ #include <iostream> #include <cstring> #include <cassert> #include <cstdlib> #include <cstdio> #include <readline/readline.h> #include <readline/history.h> #if (defined __GNUC__) && (__GNUC__ < 3) #include <streambuf.h> #else #include <streambuf> using std::streamsize; using std::streambuf; #endif class readlinebuf : public streambuf { public: #if (defined __GNUC__) && (__GNUC__ < 3) typedef char char_type; typedef int int_type; typedef streampos pos_type; typedef streamoff off_type; #endif static const int_type eof = EOF; // this is -1 static const int_type not_eof = 0; private: const char* prompt_; bool history_; char* line_; int low_; int high_; protected: virtual int_type showmanyc() const { return high_ - low_; } virtual streamsize xsgetn( char_type* buf, streamsize n ) { int rd = n > (high_ - low_)? (high_ - low_) : n; memcpy( buf, line_, rd ); low_ += rd; if ( rd < n ) { low_ = high_ = 0; free( line_ ); // free( NULL ) is a noop line_ = readline( prompt_ ); if ( line_ ) { high_ = strlen( line_ ); if ( history_ && high_ ) add_history( line_ ); rd += xsgetn( buf + rd, n - rd ); } } return rd; } virtual int_type underflow() { if ( high_ == low_ ) { low_ = high_ = 0; free( line_ ); // free( NULL ) is a noop line_ = readline( prompt_ ); if ( line_ ) { high_ = strlen( line_ ); if ( history_ && high_ ) add_history( line_ ); } } if ( low_ < high_ ) return line_[low_]; else return eof; } virtual int_type uflow() { int_type c = underflow(); if ( c != eof ) ++low_; return c; } virtual int_type pbackfail( int_type c = eof ) { if ( low_ > 0 ) --low_; else if ( c != eof ) { if ( high_ > 0 ) { char* nl = (char*)realloc( line_, high_ + 1 ); if ( nl ) { line_ = (char*)memcpy( nl + 1, line_, high_ ); high_ += 1; line_[0] = char( c ); } else return eof; } else { assert( !line_ ); line_ = (char*)malloc( sizeof( char ) ); *line_ = char( c ); high_ = 1; } } else return eof; return not_eof; } public: readlinebuf( const char* prompt = NULL, bool history = true ) : prompt_( prompt ), history_( history ), line_( NULL ), low_( 0 ), high_( 0 ) { setbuf( 0, 0 ); } }; #endif
Close