Tatsuhiro Tsujikawa
2c566ccb68
Fix bad fork() return value handling
2013-12-06 00:40:08 +09:00
Tatsuhiro Tsujikawa
9f5fdb4e10
Code cleanup
2013-11-01 22:10:24 +09:00
Tatsuhiro Tsujikawa
fd0136259c
Remove nativeToUtf8 and utf8ToNative
...
They are now not needed since we use Windows specific command-line
argument converter.
2013-11-01 22:06:13 +09:00
Tatsuhiro Tsujikawa
50ac6afe36
util.cc: Remove uselss inline static
2013-09-30 21:50:51 +09:00
Tatsuhiro Tsujikawa
b772aa6a5e
util::percentEncodeMini: Fix regression bug removed unsignedness
...
srange-based for around std::string is convenient but several
functions depend unsigned char for correctness and readability.
2013-09-30 21:32:57 +09:00
Tatsuhiro Tsujikawa
d7d5e8570b
Include prefs.h instead of typedef PrefPtr everywhere
2013-09-26 00:15:18 +09:00
Nils Maier
86c61fcf5b
Make generateRandomBytes less biased.
2013-09-24 19:07:18 +02:00
Nils Maier
3590077d5c
More auto-converts by cpp11-migrate
2013-09-20 23:06:49 +02:00
Nils Maier
a76eeb2b81
Introduce PrefPtr typedef
2013-09-19 19:59:33 +02:00
Nils Maier
8e6e46dfcf
More code cleanups
2013-09-19 19:59:33 +02:00
Tatsuhiro Tsujikawa
acd2af82d0
util::htmlEscape: Optimize a bit
...
The cause of slowness of the first implementation is the memory
allocation overhead and appending character by character. In this
implementation, the output buffer is reserved the same size of input.
This is reasonable because most likely no replacement happens in
practice. And the unmodified region is copied using iterator range to
speed up a bit.
2013-08-29 01:09:15 +09:00
Nils Maier
75e61ee3d0
Fast-path for percentEncodeMini(string&)
2013-08-24 22:25:29 +02:00
Nils Maier
b2da75ca33
Optimize htmlEscape implementation a bit
2013-08-24 21:54:56 +02:00
Nils Maier
1b8de6bb18
Add fast-path to percentEncode(string&)
2013-08-24 21:54:36 +02:00
Nils Maier
8526ceeb45
Convert to autos and ranged loops
2013-08-21 05:56:17 +02:00
Nils Maier
d8f44ef4f6
Convert most 0/NULL pointers to nullptr
...
Courtesy of llvm cpp11-migrate 3.3
2013-08-20 21:28:24 +02:00
Nils Maier
bf5a940ed4
Define a type for signal handlers
2013-08-18 06:04:20 +02:00
Nils Maier
79fcafc31f
Win: Use SetConsoleCtrlHandler for SIGINT/SIGTERM
2013-08-18 06:04:20 +02:00
Tatsuhiro Tsujikawa
7e6db8d801
Use std::unique_ptr instead of array_ptr
2013-07-03 23:23:22 +09:00
Tatsuhiro Tsujikawa
74d6d64271
Use std::unique_ptr for MessageDigest
2013-07-03 01:13:13 +09:00
Tatsuhiro Tsujikawa
da7400ef5c
Return std::unique_ptr member as const ref
...
Returning raw pointer has a risk that it may be stolen by
std::shared_ptr in accident.
2013-06-26 23:56:43 +09:00
Tatsuhiro Tsujikawa
2761301dfb
Rewrite util::divide
2013-06-25 00:07:15 +09:00
Tatsuhiro Tsujikawa
b364c2436b
toUpper, toLower: Let compiler copy src
2013-06-24 23:23:34 +09:00
Tatsuhiro Tsujikawa
10cdc59297
Remove vbegin and vend in favor of std::begin and std::end
2013-06-24 21:46:42 +09:00
Tatsuhiro Tsujikawa
50dcd6394c
Use std::unique_ptr instead of std::shared_ptr
2013-06-22 15:49:41 +09:00
Tatsuhiro Tsujikawa
07d270c87e
Require -std=c++11 and use std::shared_ptr instead of SharedHandle
2013-06-22 01:10:38 +09:00
Nils Maier
b7ef53b13d
OSX (now) needs signal.h for sigaction
2013-05-17 01:48:53 +02:00
Tatsuhiro Tsujikawa
0fa92911d7
util.cc: Include only signal.h for opensolaris build
2013-03-17 15:42:50 +09:00
Nils Maier
8aa1db682b
Check for sys/signal.h and/or signal.h
...
mingw-w64 does not actually have sys/signal.h, while OSX currently has a
broken signal.h
Better check the presence of both and use sys/signal.h if present, else
signal.h
2013-03-02 15:09:54 +01:00
Nils Maier
62f842579d
Fix bustage on OSX with ./configure CC=cc CXX=c++ (clang)
2013-03-01 12:43:40 +01:00
Tatsuhiro Tsujikawa
61665d2c26
Set sa_mask when setting signal handler
2013-02-14 21:51:30 +09:00
Tatsuhiro Tsujikawa
8e3ae3b76c
Use _exit() instead of exit() where appropriate
2013-02-14 01:01:06 +09:00
Tatsuhiro Tsujikawa
6a976a4118
Accept k and m as well as K and M in util::getRealSize()
2013-01-15 21:36:25 +09:00
Tatsuhiro Tsujikawa
b017e80438
Changed threshold of using upper unit for abbrevSize
2012-12-19 23:58:24 +09:00
Tatsuhiro Tsujikawa
b9da9d4ed3
Use 64 bits random bytes as GID
...
This change replaces the current 64 bit sequential GID with 64 bits
random bytes GID in an attempt to support persistent GID. Internally,
the GID is stored as uint64_t. For human representation and RPC
interface, GID is represented as 16 bytes hex string. For console
readout, 16 bytes are too long, so it is abbreviated to first 6 bytes.
When querying GID in RPC calls, user can speicfy the prefix of GID as
long as the prefix is shared by more than 1 GID entries.
2012-12-16 17:29:01 +09:00
Tatsuhiro Tsujikawa
4fdd5da27d
Compact readout when more than 1 simultaneous downloads are going on
...
If more than 1 simultaneous downloads are going on, use more compact
format in readout. Currently, at most 5 download stats are displayed.
util::abbrevSize() is rewritten to support "Gi" unit and provides more
compact abbreviation.
2012-12-11 23:40:06 +09:00
Tatsuhiro Tsujikawa
2ee4361848
Removed unused static function util::parseParam
2012-11-17 14:38:55 +09:00
Tatsuhiro Tsujikawa
31189b1222
Made return type of util::parse_content_disposition ssize_t
2012-11-01 22:54:32 +09:00
Tatsuhiro Tsujikawa
49e9f66c16
Use len formal parameter of util::parse_content_disposition
2012-10-31 01:24:10 +09:00
Tatsuhiro Tsujikawa
f60b956a48
Removed always-true condition
2012-10-29 23:42:58 +09:00
Tatsuhiro Tsujikawa
118aed9c24
Content-Disposition parser conforming to RFC 6266.
...
RFC 2231 Continuation is not supported.
2012-10-27 14:51:07 +09:00
Tatsuhiro Tsujikawa
8b0c701266
Removed trailing spaces
2012-10-01 23:52:22 +09:00
Tatsuhiro Tsujikawa
3258614033
Removed *Handle typedef
2012-09-28 23:27:46 +09:00
Tatsuhiro Tsujikawa
8fc5cdea02
Removed unused functions
2012-09-27 01:03:39 +09:00
Tatsuhiro Tsujikawa
89f18dde85
Use nothrow version of parseInt, parseUInt and parseLLInt
2012-09-27 00:45:32 +09:00
Tatsuhiro Tsujikawa
10a68061f7
Code cleanup
2012-09-26 23:03:25 +09:00
Tatsuhiro Tsujikawa
f133091a9e
Made BufferedFile ctor take const char* args
2012-09-25 23:44:41 +09:00
Tatsuhiro Tsujikawa
a8c0794640
Made DEFAULT_STRIP_CHARSET const char[]
2012-09-24 23:54:41 +09:00
Tatsuhiro Tsujikawa
d95a179876
Removed A2STR strings other than NIL
2012-09-24 23:01:08 +09:00
Tatsuhiro Tsujikawa
dd7014a612
Store only interesting HTTP headers in HttpHeader
...
In this change, we defined HTTP header fields we are interested in.
We only store those headers in HttpHeader object. Accessing HTTP
headers in HttpHeader object is now done through enum values.
2012-09-23 20:59:34 +09:00