X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=index.cgi;h=762e162d0bf0c9773d935c00c020f7080c1c2731;hb=ccb6271a4c2a4acecca2b2a4b9e3d1c30da01b9b;hp=cdfaa82dd40f1c8d84688153d1f1facaeae8b3bb;hpb=2516370bb6cf090e03e99e54eab243330971247e;p=vpaste diff --git a/index.cgi b/index.cgi index cdfaa82..762e162 100755 --- a/index.cgi +++ b/index.cgi @@ -30,8 +30,9 @@ function cut_file { st==2 {print \$0}; /$1--/ {st=0}; /^\\r$/ && st==1 {st=2}; - " | head -c -2 + " | head -c -2 | head -c $((128*1024)) # Remove trailing ^M's that come with CGI + # Limit size to 128K } # Print out a generic header @@ -42,7 +43,7 @@ function header { # Format a file for viewing function do_print { - if [ -f "$1" ]; then + if [ -f "./$1" ]; then input="$1" elif [ -f "db/$1" ]; then input="db/$1" @@ -66,7 +67,7 @@ function do_print { # has a real terminal, not that we also have to set # term=xterm-256color in vimrc HOME=/home/andy \ - screen -D -m ex -u vimrc \ + screen -D -m ex -nXZ -i NONE -u vimrc \ '+2d|'$trim \ '+%s/ //g' \ '+TOhtml' \ @@ -87,7 +88,7 @@ function do_print { # Upload handler function do_upload { output="$(mktemp db/XXXXX)" - uri="$SCRIPT_URI$(basename "$output")${QUERY_STRING:+"?"}" + uri="$url$(basename "$output")${QUERY_STRING:+"?"}" (get_modeline; cut_file "$1") > "$output" echo "Status: 302 Found" echo "Location: $uri" @@ -98,28 +99,33 @@ function do_upload { # Default index page function do_help { filetypes=$( - ls /usr/share/vim/vim{72,files}/syntax/ /home/andy/.vim/after/syntax/ | - sed -n 's/.vim$//p' | sort | uniq + ls /usr/share/vim/vim*/syntax/ /home/andy/.vim/after/syntax/ | + sed -n '/^\(syntax\|manual\|synload\|2html\|colortest\|hitest\).vim$/d; s/.vim$//p' | + sort | uniq ) -uploads=$(ls -t db | head -n 5 | sed "s!^!$SCRIPT_URI!") +uploads=$(ls -t db | head -n 5 | sed "s!^!$url!") header text/html cat - < + + -
- -
+
+ - + +
-

NAME

-

vpaste: Vim enabled pastebin

+

vpaste: Vim based pastebin

SYNOPSIS

+
 vpaste file [option=value,..]
 <command> | vpaste [option=value,..]
-
-
 <command> | curl -F 'x=<-' $SCRIPT_URI[?option=value,..]
+
+
 <command> | curl -F 'x=<-' $url[?option=value,..]
+
+
 :map vp :exec "w !vpaste ft=".&ft<CR>
+
 :vmap vp <ESC>:exec "'<,'>w !vpaste ft=".&ft<CR>
+

DESCRIPTION

Add ?[option[=value],..] to make your text a rainbow.

@@ -159,18 +170,25 @@ cat - <See :help modeline for more information +

BUGS

+ +

SOURCE

LATEST UPLOADS

@@ -178,12 +196,14 @@ EOF } # Main -pathinfo="${SCRIPT_URL/*vpaste\/}" +url="http://$HTTP_HOST/$SCRIPT_URI" +pathinfo="${REQUEST_URI/*\/}" +pathinfo="${pathinfo/\?*}" if [ "$pathinfo" ]; then do_print "$pathinfo" elif [ "$CONTENT_TYPE" ]; then - do_upload ${CONTENT_TYPE/*boundary\=/} + do_upload "${CONTENT_TYPE/*boundary\=/}" else do_help fi