democracy 0.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of democracy might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/LIBERTY +310 -0
- data/README +310 -0
- data/README2 +14 -0
- data/READ_THIS_TO_CHANGE_THINGS +310 -0
- data/Resume.pdf +0 -0
- data/Ruby Installer.exe +0 -0
- data/VERSION_NUMBER +1 -0
- data/WE_NEEDNT_BE_ENSLAVED +310 -0
- data/_.html +460 -0
- data/__index.html +11 -0
- data/a.html +21 -0
- data/ac +73 -0
- data/all_code.cpp +280 -0
- data/all_code.js +30 -0
- data/app_topics +93 -0
- data/background.jpg +0 -0
- data/better_string +26 -0
- data/bin/abs +0 -0
- data/bin/ac +34 -0
- data/bin/add +0 -0
- data/bin/append +14 -0
- data/bin/args +0 -0
- data/bin/autorequire +85 -0
- data/bin/big_num +155 -0
- data/bin/black +0 -0
- data/bin/blue +0 -0
- data/bin/bold +0 -0
- data/bin/c_repl +76 -0
- data/bin/close +3 -0
- data/bin/copy +0 -0
- data/bin/count +0 -0
- data/bin/cpy +0 -0
- data/bin/cyan +0 -0
- data/bin/democracyinstall.exe +0 -0
- data/bin/div +0 -0
- data/bin/down_all_links +50 -0
- data/bin/dump +0 -0
- data/bin/email +127 -0
- data/bin/emerald-browser +0 -0
- data/bin/emoji +176 -0
- data/bin/executable +1 -0
- data/bin/exp +0 -0
- data/bin/files +0 -0
- data/bin/floor +0 -0
- data/bin/foreach +49 -0
- data/bin/g+ +557 -0
- data/bin/get_all_links +11 -0
- data/bin/github +55 -0
- data/bin/green +0 -0
- data/bin/gsearch +159 -0
- data/bin/gsub +0 -0
- data/bin/gsub_in_place +0 -0
- data/bin/last_nth +0 -0
- data/bin/lines +0 -0
- data/bin/magenta +0 -0
- data/bin/mkfile +47 -0
- data/bin/mul +0 -0
- data/bin/nth +0 -0
- data/bin/open +0 -0
- data/bin/play +0 -0
- data/bin/prepend +14 -0
- data/bin/processes +3 -0
- data/bin/qt_download +21 -0
- data/bin/record +121 -0
- data/bin/red +0 -0
- data/bin/replace_in_place +0 -0
- data/bin/replace_not_in_place +0 -0
- data/bin/selectlines +0 -0
- data/bin/sort_in_place +0 -0
- data/bin/splitfiles +16 -0
- data/bin/squeeze +17 -0
- data/bin/string +161 -0
- data/bin/strip_extensions +13 -0
- data/bin/sub +0 -0
- data/bin/t +63 -0
- data/bin/tracefile +555 -0
- data/bin/underline +0 -0
- data/bin/undump +0 -0
- data/bin/viu +0 -0
- data/bin/white +0 -0
- data/bin/yellow +0 -0
- data/bin/youtube_video +45 -0
- data/bin/youtube_video2 +45 -0
- data/code.js +28490 -0
- data/crystal-gobject/.git/HEAD +1 -0
- data/crystal-gobject/.git/config +11 -0
- data/crystal-gobject/.git/description +1 -0
- data/crystal-gobject/.git/hooks/applypatch-msg.sample +15 -0
- data/crystal-gobject/.git/hooks/commit-msg.sample +24 -0
- data/crystal-gobject/.git/hooks/fsmonitor-watchman.sample +109 -0
- data/crystal-gobject/.git/hooks/post-update.sample +8 -0
- data/crystal-gobject/.git/hooks/pre-applypatch.sample +14 -0
- data/crystal-gobject/.git/hooks/pre-commit.sample +49 -0
- data/crystal-gobject/.git/hooks/pre-merge-commit.sample +13 -0
- data/crystal-gobject/.git/hooks/pre-push.sample +53 -0
- data/crystal-gobject/.git/hooks/pre-rebase.sample +169 -0
- data/crystal-gobject/.git/hooks/pre-receive.sample +24 -0
- data/crystal-gobject/.git/hooks/prepare-commit-msg.sample +42 -0
- data/crystal-gobject/.git/hooks/update.sample +128 -0
- data/crystal-gobject/.git/index +0 -0
- data/crystal-gobject/.git/info/exclude +6 -0
- data/crystal-gobject/.git/logs/HEAD +1 -0
- data/crystal-gobject/.git/logs/refs/heads/main +1 -0
- data/crystal-gobject/.git/logs/refs/remotes/origin/HEAD +1 -0
- data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.idx +0 -0
- data/crystal-gobject/.git/objects/pack/pack-c21cfd88c6eef3076f2c2aebb658b750e87e10b6.pack +0 -0
- data/crystal-gobject/.git/packed-refs +15 -0
- data/crystal-gobject/.git/refs/heads/main +1 -0
- data/crystal-gobject/.git/refs/remotes/origin/HEAD +1 -0
- data/crystal-gobject/.github/workflows/ci.yml +22 -0
- data/crystal-gobject/.gitignore +14 -0
- data/crystal-gobject/LICENSE +27 -0
- data/crystal-gobject/README.md +143 -0
- data/crystal-gobject/samples/base_class_container.cr +15 -0
- data/crystal-gobject/samples/connect_after.cr +35 -0
- data/crystal-gobject/samples/crout/crout.cr +59 -0
- data/crystal-gobject/samples/e +0 -0
- data/crystal-gobject/samples/gdk_window.cr +36 -0
- data/crystal-gobject/samples/glist.cr +16 -0
- data/crystal-gobject/samples/greeter.cr +34 -0
- data/crystal-gobject/samples/greeter.glade +91 -0
- data/crystal-gobject/samples/gtk_accel_group.cr +13 -0
- data/crystal-gobject/samples/gtk_application.cr +12 -0
- data/crystal-gobject/samples/gtk_boxes.cr +44 -0
- data/crystal-gobject/samples/gtk_css_styling/css_window.cr +37 -0
- data/crystal-gobject/samples/gtk_css_styling/css_window.css +3 -0
- data/crystal-gobject/samples/gtk_css_styling/css_window.glade +104 -0
- data/crystal-gobject/samples/gtk_editable.cr +14 -0
- data/crystal-gobject/samples/gtk_entry.cr +10 -0
- data/crystal-gobject/samples/gtk_hello_world.cr +13 -0
- data/crystal-gobject/samples/gtk_menu_and_actions.cr +69 -0
- data/crystal-gobject/samples/gtk_message_dialog.cr +9 -0
- data/crystal-gobject/samples/gtk_subclasses.cr +30 -0
- data/crystal-gobject/samples/gtk_tree_view.cr +30 -0
- data/crystal-gobject/samples/gtk_tree_view.glade +44 -0
- data/crystal-gobject/samples/hello +0 -0
- data/crystal-gobject/samples/libgdk-3.a +0 -0
- data/crystal-gobject/samples/libgdk_pixbuf-2.0.a +0 -0
- data/crystal-gobject/samples/libgtk-3.a +0 -0
- data/crystal-gobject/samples/timeout.cr +34 -0
- data/crystal-gobject/script/ci.sh +17 -0
- data/crystal-gobject/script/release.sh +31 -0
- data/crystal-gobject/script/run_with_timeout.cr +14 -0
- data/crystal-gobject/script/test +7 -0
- data/crystal-gobject/shard.yml +16 -0
- data/crystal-gobject/spec/basic_spec.cr +46 -0
- data/crystal-gobject/spec/libsample/Makefile +28 -0
- data/crystal-gobject/spec/libsample/test-subject.c +107 -0
- data/crystal-gobject/spec/libsample/test-subject.h +65 -0
- data/crystal-gobject/spec/spec_helper.cr +5 -0
- data/crystal-gobject/src/atk/atk.cr +2 -0
- data/crystal-gobject/src/closure_data_manager.cr +62 -0
- data/crystal-gobject/src/crout.cr +601 -0
- data/crystal-gobject/src/g_i_repository/dumper.cr +116 -0
- data/crystal-gobject/src/g_i_repository/g_i_repository.cr +46 -0
- data/crystal-gobject/src/g_i_repository/info/arg_info.cr +157 -0
- data/crystal-gobject/src/g_i_repository/info/base_info.cr +169 -0
- data/crystal-gobject/src/g_i_repository/info/callable_info.cr +266 -0
- data/crystal-gobject/src/g_i_repository/info/callback_info.cr +54 -0
- data/crystal-gobject/src/g_i_repository/info/constant_info.cr +115 -0
- data/crystal-gobject/src/g_i_repository/info/enum_info.cr +88 -0
- data/crystal-gobject/src/g_i_repository/info/field_info.cr +97 -0
- data/crystal-gobject/src/g_i_repository/info/function_info.cr +237 -0
- data/crystal-gobject/src/g_i_repository/info/interface_info.cr +97 -0
- data/crystal-gobject/src/g_i_repository/info/object_info.cr +170 -0
- data/crystal-gobject/src/g_i_repository/info/property_info.cr +93 -0
- data/crystal-gobject/src/g_i_repository/info/registered_type_info.cr +62 -0
- data/crystal-gobject/src/g_i_repository/info/signal_info.cr +119 -0
- data/crystal-gobject/src/g_i_repository/info/struct_info.cr +139 -0
- data/crystal-gobject/src/g_i_repository/info/type_info.cr +326 -0
- data/crystal-gobject/src/g_i_repository/info/union_info.cr +136 -0
- data/crystal-gobject/src/g_i_repository/info/v_func_info.cr +33 -0
- data/crystal-gobject/src/g_i_repository/info/value_info.cr +62 -0
- data/crystal-gobject/src/g_i_repository/repository.cr +68 -0
- data/crystal-gobject/src/g_i_repository/wrapper_generator.cr +103 -0
- data/crystal-gobject/src/g_lib/error.cr +34 -0
- data/crystal-gobject/src/g_lib/g_lib.cr +81 -0
- data/crystal-gobject/src/g_lib/list_iterator.cr +81 -0
- data/crystal-gobject/src/g_lib/s_list_iterator.cr +54 -0
- data/crystal-gobject/src/g_object/closure.cr +40 -0
- data/crystal-gobject/src/g_object/g_object.cr +7 -0
- data/crystal-gobject/src/g_object/module_functions.cr +38 -0
- data/crystal-gobject/src/g_object/object.cr +104 -0
- data/crystal-gobject/src/g_object/type.cr +68 -0
- data/crystal-gobject/src/g_object/value.cr +308 -0
- data/crystal-gobject/src/gdk/event.cr +34 -0
- data/crystal-gobject/src/gdk/gdk.cr +35 -0
- data/crystal-gobject/src/generated/g_i_repository/argument.cr +130 -0
- data/crystal-gobject/src/generated/g_i_repository/array_type.cr +34 -0
- data/crystal-gobject/src/generated/g_i_repository/attribute_iter.cr +65 -0
- data/crystal-gobject/src/generated/g_i_repository/base_info.cr +134 -0
- data/crystal-gobject/src/generated/g_i_repository/direction.cr +33 -0
- data/crystal-gobject/src/generated/g_i_repository/field_info_flags.cr +34 -0
- data/crystal-gobject/src/generated/g_i_repository/function_info_flags.cr +38 -0
- data/crystal-gobject/src/generated/g_i_repository/g_i_repository.cr +7 -0
- data/crystal-gobject/src/generated/g_i_repository/info_type.cr +50 -0
- data/crystal-gobject/src/generated/g_i_repository/module_functions.cr +816 -0
- data/crystal-gobject/src/generated/g_i_repository/repository.cr +214 -0
- data/crystal-gobject/src/generated/g_i_repository/repository_class.cr +55 -0
- data/crystal-gobject/src/generated/g_i_repository/repository_error.cr +34 -0
- data/crystal-gobject/src/generated/g_i_repository/repository_load_flags.cr +33 -0
- data/crystal-gobject/src/generated/g_i_repository/repository_private.cr +46 -0
- data/crystal-gobject/src/generated/g_i_repository/scope_type.cr +34 -0
- data/crystal-gobject/src/generated/g_i_repository/transfer.cr +33 -0
- data/crystal-gobject/src/generated/g_i_repository/type_tag.cr +52 -0
- data/crystal-gobject/src/generated/g_i_repository/typelib.cr +61 -0
- data/crystal-gobject/src/generated/g_i_repository/unresolved_info.cr +45 -0
- data/crystal-gobject/src/generated/g_i_repository/v_func_info_flags.cr +36 -0
- data/crystal-gobject/src/generated/g_object/param_flags.cr +44 -0
- data/crystal-gobject/src/generated/g_object/signal_flags.cr +42 -0
- data/crystal-gobject/src/generated/lib_g_i_repository.cr +302 -0
- data/crystal-gobject/src/generated/lib_g_lib.cr +2261 -0
- data/crystal-gobject/src/generated/lib_g_object.cr +874 -0
- data/crystal-gobject/src/generator/build_namespace.cr +22 -0
- data/crystal-gobject/src/generator/doc.cr +259 -0
- data/crystal-gobject/src/generator/dump.cr +55 -0
- data/crystal-gobject/src/generator/generator.cr +22 -0
- data/crystal-gobject/src/generator/namespace.cr +192 -0
- data/crystal-gobject/src/generator/stage2.cr +113 -0
- data/crystal-gobject/src/generator/stage3.cr +3 -0
- data/crystal-gobject/src/gio/gio.cr +4 -0
- data/crystal-gobject/src/gobject.cr +54 -0
- data/crystal-gobject/src/gtk/autorun.cr +16 -0
- data/crystal-gobject/src/gtk/gtk.cr +61 -0
- data/crystal-gobject/src/notify/notification.cr +158 -0
- data/crystal-gobject/src/notify/notify.cr +4 -0
- data/crystal-gobject/src/pointer_iterator.cr +49 -0
- data/crystal-gobject/src/wrapped_type.cr +53 -0
- data/democracy.gemspec +14 -0
- data/dictate +183 -0
- data/emerald-browser/.qmake.stash +23 -0
- data/emerald-browser/Makefile +469 -0
- data/emerald-browser/OUT +90 -0
- data/emerald-browser/a.out +0 -0
- data/emerald-browser/empty +0 -0
- data/emerald-browser/empty.c +1 -0
- data/emerald-browser/open +0 -0
- data/emerald-browser/open.c +57 -0
- data/emerald-browser/qmake.pro +23 -0
- data/emerald-browser/src/OUT +438 -0
- data/emerald-browser/src/a.cpp +303 -0
- data/emerald-browser/src/a.out +0 -0
- data/emerald-browser/src/ss.h +12 -0
- data/emerald-browser/src/t/fullscreennotification.cpp +98 -0
- data/emerald-browser/src/t/fullscreennotification.h +72 -0
- data/emerald-browser/src/t/fullscreenwindow.cpp +99 -0
- data/emerald-browser/src/t/fullscreenwindow.h +76 -0
- data/emerald-browser/src/t/main.cpp +64 -0
- data/emerald-browser/src/t/mainwindow.cpp +83 -0
- data/emerald-browser/src/t/mainwindow.h +75 -0
- data/emerald-browser/test/a.cpp +2 -0
- data/f +0 -0
- data/faster_googler +31 -0
- data/favicon.ico +0 -0
- data/foo +80 -0
- data/foo.c +39 -0
- data/foo.cpp +36 -0
- data/foo.js +25 -0
- data/free_icons/site/bulb +0 -0
- data/free_icons/site/chess +0 -0
- data/free_icons/site/compiz.svg +463 -0
- data/free_icons/site/cursor.svg +1 -0
- data/free_icons/site/dock +0 -0
- data/free_icons/site/gnu +0 -0
- data/free_icons/site/info.svg +200 -0
- data/free_icons/site/iphone.svg +222 -0
- data/free_icons/site/laptop +0 -0
- data/free_icons/site/magic.svg +856 -0
- data/free_icons/site/man +0 -0
- data/free_icons/site/mint +0 -0
- data/free_icons/site/mouse +0 -0
- data/free_icons/site/paint.svg +2640 -0
- data/free_icons/site/present +0 -0
- data/free_icons/site/python +0 -0
- data/free_icons/site/reality +0 -0
- data/free_icons/site/ruby +0 -0
- data/free_icons/site/skeptic +0 -0
- data/free_icons/site/terminal +0 -0
- data/free_icons/site/video.svg +358 -0
- data/free_icons/site/warning +0 -0
- data/free_icons/site/wikipedia.svg +553 -0
- data/free_icons/site/write.svg +287 -0
- data/g +0 -0
- data/graphical_help.c +6 -0
- data/gregory_coreutils/DOC +14 -0
- data/gregory_coreutils/build/Makefile +12 -0
- data/gregory_coreutils/build/code +1 -0
- data/gregory_coreutils/build/functions +465 -0
- data/gregory_coreutils/build/make +93 -0
- data/gregory_coreutils/build/mk +74 -0
- data/gregory_coreutils/build/regex +2 -0
- data/gregory_coreutils/build/ruby_functions +0 -0
- data/gregory_coreutils/utilities/abs +0 -0
- data/gregory_coreutils/utilities/add +0 -0
- data/gregory_coreutils/utilities/args +0 -0
- data/gregory_coreutils/utilities/black +0 -0
- data/gregory_coreutils/utilities/blue +0 -0
- data/gregory_coreutils/utilities/bold +0 -0
- data/gregory_coreutils/utilities/copy +0 -0
- data/gregory_coreutils/utilities/count +0 -0
- data/gregory_coreutils/utilities/cpy +0 -0
- data/gregory_coreutils/utilities/cyan +0 -0
- data/gregory_coreutils/utilities/div +0 -0
- data/gregory_coreutils/utilities/dump +0 -0
- data/gregory_coreutils/utilities/exp +0 -0
- data/gregory_coreutils/utilities/files +0 -0
- data/gregory_coreutils/utilities/floor +0 -0
- data/gregory_coreutils/utilities/green +0 -0
- data/gregory_coreutils/utilities/gsub +0 -0
- data/gregory_coreutils/utilities/gsub_in_place +0 -0
- data/gregory_coreutils/utilities/last_nth +0 -0
- data/gregory_coreutils/utilities/lines +0 -0
- data/gregory_coreutils/utilities/magenta +0 -0
- data/gregory_coreutils/utilities/mul +0 -0
- data/gregory_coreutils/utilities/nth +0 -0
- data/gregory_coreutils/utilities/red +0 -0
- data/gregory_coreutils/utilities/replace_in_place +0 -0
- data/gregory_coreutils/utilities/replace_not_in_place +0 -0
- data/gregory_coreutils/utilities/selectlines +0 -0
- data/gregory_coreutils/utilities/sort_in_place +0 -0
- data/gregory_coreutils/utilities/sub +0 -0
- data/gregory_coreutils/utilities/underline +0 -0
- data/gregory_coreutils/utilities/undump +0 -0
- data/gregory_coreutils/utilities/white +0 -0
- data/gregory_coreutils/utilities/yellow +0 -0
- data/gtk +3 -0
- data/html_file +0 -0
- data/html_file.html +92 -0
- data/i +181 -0
- data/index.html +38 -0
- data/index2.html +344 -0
- data/inspect.rb +209 -0
- data/lib/README +310 -0
- data/lib/__index.html +11 -0
- data/lib/because.rb +41 -0
- data/lib/code.js +28490 -0
- data/lib/compile +5 -0
- data/lib/conjunction.rb +49 -0
- data/lib/evidence.rb +45 -0
- data/lib/graphical_help +90 -0
- data/lib/however.rb +42 -0
- data/lib/index.html +49 -0
- data/lib/index2.html +344 -0
- data/lib/inputreceiver.rb +135 -0
- data/lib/item.rb +77 -0
- data/lib/itemlist.rb +50 -0
- data/lib/negative.rb +43 -0
- data/lib/neutral.rb +43 -0
- data/lib/outputter.rb +60 -0
- data/lib/p.rb +71 -0
- data/lib/positive.rb +41 -0
- data/lib/script.js +423 -0
- data/lib/string__.rb +110 -0
- data/lib/sub/file +5 -0
- data/man/foo.rb +6 -0
- data/man/gtk.html +1 -0
- data/man/out +7288 -0
- data/more/ac.desktop +12 -0
- data/more/res +1 -0
- data/more/web-speech-api/.git/HEAD +1 -0
- data/more/web-speech-api/.git/config +11 -0
- data/more/web-speech-api/.git/description +1 -0
- data/more/web-speech-api/.git/hooks/applypatch-msg.sample +15 -0
- data/more/web-speech-api/.git/hooks/commit-msg.sample +24 -0
- data/more/web-speech-api/.git/hooks/fsmonitor-watchman.sample +109 -0
- data/more/web-speech-api/.git/hooks/post-update.sample +8 -0
- data/more/web-speech-api/.git/hooks/pre-applypatch.sample +14 -0
- data/more/web-speech-api/.git/hooks/pre-commit.sample +49 -0
- data/more/web-speech-api/.git/hooks/pre-merge-commit.sample +13 -0
- data/more/web-speech-api/.git/hooks/pre-push.sample +53 -0
- data/more/web-speech-api/.git/hooks/pre-rebase.sample +169 -0
- data/more/web-speech-api/.git/hooks/pre-receive.sample +24 -0
- data/more/web-speech-api/.git/hooks/prepare-commit-msg.sample +42 -0
- data/more/web-speech-api/.git/hooks/update.sample +128 -0
- data/more/web-speech-api/.git/index +0 -0
- data/more/web-speech-api/.git/info/exclude +6 -0
- data/more/web-speech-api/.git/logs/HEAD +1 -0
- data/more/web-speech-api/.git/logs/refs/heads/master +1 -0
- data/more/web-speech-api/.git/logs/refs/remotes/origin/HEAD +1 -0
- data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.idx +0 -0
- data/more/web-speech-api/.git/objects/pack/pack-4d2adae000c513b287d53e24937e9e836954f901.pack +0 -0
- data/more/web-speech-api/.git/packed-refs +2 -0
- data/more/web-speech-api/.git/refs/heads/master +1 -0
- data/more/web-speech-api/.git/refs/remotes/origin/HEAD +1 -0
- data/more/web-speech-api/CODE_OF_CONDUCT.md +15 -0
- data/more/web-speech-api/LICENSE +116 -0
- data/more/web-speech-api/README.md +23 -0
- data/more/web-speech-api/index.html +25 -0
- data/more/web-speech-api/phrase-matcher/index.html +30 -0
- data/more/web-speech-api/phrase-matcher/script.js +124 -0
- data/more/web-speech-api/phrase-matcher/style.css +54 -0
- data/more/web-speech-api/speak-easy-synthesis/img/ws128.png +0 -0
- data/more/web-speech-api/speak-easy-synthesis/img/ws512.png +0 -0
- data/more/web-speech-api/speak-easy-synthesis/index.html +43 -0
- data/more/web-speech-api/speak-easy-synthesis/manifest.webapp +14 -0
- data/more/web-speech-api/speak-easy-synthesis/script.js +87 -0
- data/more/web-speech-api/speak-easy-synthesis/style.css +74 -0
- data/more/web-speech-api/speech-color-changer/img/ws128.png +0 -0
- data/more/web-speech-api/speech-color-changer/img/ws512.png +0 -0
- data/more/web-speech-api/speech-color-changer/index.html +26 -0
- data/more/web-speech-api/speech-color-changer/manifest.webapp +23 -0
- data/more/web-speech-api/speech-color-changer/script.js +58 -0
- data/more/web-speech-api/speech-color-changer/style.css +38 -0
- data/opensrc +68 -0
- data/out +39 -0
- data/playsrc +14 -0
- data/program.c +11 -0
- data/program.prog +568 -0
- data/proj/a +0 -0
- data/proj/a.c +1 -0
- data/proj/a.o +0 -0
- data/proj/a.rs +18 -0
- data/proj/b.rs +22 -0
- data/proj/linker.sh +8 -0
- data/proj/save_last +4 -0
- data/push +16 -0
- data/q.cpp +175 -0
- data/qt/.qmake.stash +23 -0
- data/qt/Qt5Core.dll +0 -0
- data/qt/Qt5Gui.dll +0 -0
- data/qt/Qt5Multimedia.dll +0 -0
- data/qt/Qt5MultimediaWidgets.dll +0 -0
- data/qt/Qt5Network.dll +0 -0
- data/qt/Qt5PrintSupport.dll +0 -0
- data/qt/Qt5Qml.dll +0 -0
- data/qt/Qt5QmlModels.dll +0 -0
- data/qt/Qt5Quick.dll +0 -0
- data/qt/Qt5Sensors.dll +0 -0
- data/qt/Qt5WebChannel.dll +0 -0
- data/qt/Qt5WebKit.dll +0 -0
- data/qt/Qt5WebKitWidgets.dll +0 -0
- data/qt/Qt5Widgets.dll +0 -0
- data/qt/a.cpp +39 -0
- data/qt/a.out +0 -0
- data/qt/a.sh +7 -0
- data/qt/icudt66.dll +0 -0
- data/qt/icuin66.dll +0 -0
- data/qt/icuuc66.dll +0 -0
- data/qt/libbz2.dll +0 -0
- data/qt/libcrypto-1_1-x64.dll +0 -0
- data/qt/libfreetype-6.dll +0 -0
- data/qt/libgcc_s_seh-1.dll +0 -0
- data/qt/libglib-2.0-0.dll +0 -0
- data/qt/libharfbuzz-0.dll +0 -0
- data/qt/libiconv-2.dll +0 -0
- data/qt/libintl-8.dll +0 -0
- data/qt/libjpeg-9.dll +0 -0
- data/qt/liblzma-5.dll +0 -0
- data/qt/libpcre-1.dll +0 -0
- data/qt/libpcre2-16-0.dll +0 -0
- data/qt/libpng16-16.dll +0 -0
- data/qt/libsqlite3-0.dll +0 -0
- data/qt/libssl-1_1-x64.dll +0 -0
- data/qt/libstdc++-6.dll +0 -0
- data/qt/libwebp-7.dll +0 -0
- data/qt/libwinpthread-1.dll +0 -0
- data/qt/libxml2-2.dll +0 -0
- data/qt/libxslt-1.dll +0 -0
- data/qt/libzstd.dll +0 -0
- data/qt/prog +1 -0
- data/qt/qwindows.dll +0 -0
- data/qt/zlib1.dll +0 -0
- data/quickjs/.git/HEAD +1 -0
- data/quickjs/.git/config +11 -0
- data/quickjs/.git/description +1 -0
- data/quickjs/.git/hooks/applypatch-msg.sample +15 -0
- data/quickjs/.git/hooks/commit-msg.sample +24 -0
- data/quickjs/.git/hooks/fsmonitor-watchman.sample +109 -0
- data/quickjs/.git/hooks/post-update.sample +8 -0
- data/quickjs/.git/hooks/pre-applypatch.sample +14 -0
- data/quickjs/.git/hooks/pre-commit.sample +49 -0
- data/quickjs/.git/hooks/pre-merge-commit.sample +13 -0
- data/quickjs/.git/hooks/pre-push.sample +53 -0
- data/quickjs/.git/hooks/pre-rebase.sample +169 -0
- data/quickjs/.git/hooks/pre-receive.sample +24 -0
- data/quickjs/.git/hooks/prepare-commit-msg.sample +42 -0
- data/quickjs/.git/hooks/update.sample +128 -0
- data/quickjs/.git/index +0 -0
- data/quickjs/.git/info/exclude +6 -0
- data/quickjs/.git/logs/HEAD +1 -0
- data/quickjs/.git/logs/refs/heads/master +1 -0
- data/quickjs/.git/logs/refs/remotes/origin/HEAD +1 -0
- data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.idx +0 -0
- data/quickjs/.git/objects/pack/pack-744a13dba8773a756b22372ba65ded3aca50cdeb.pack +0 -0
- data/quickjs/.git/packed-refs +2 -0
- data/quickjs/.git/refs/heads/master +1 -0
- data/quickjs/.git/refs/remotes/origin/HEAD +1 -0
- data/quickjs/.obj/.d +1 -0
- data/quickjs/.obj/cutils.nolto.o +0 -0
- data/quickjs/.obj/cutils.o +0 -0
- data/quickjs/.obj/cutils.o.d +1 -0
- data/quickjs/.obj/hello.o +0 -0
- data/quickjs/.obj/hello.o.d +1 -0
- data/quickjs/.obj/libbf.nolto.o +0 -0
- data/quickjs/.obj/libbf.o +0 -0
- data/quickjs/.obj/libbf.o.d +1 -0
- data/quickjs/.obj/libregexp.nolto.o +0 -0
- data/quickjs/.obj/libregexp.o +0 -0
- data/quickjs/.obj/libregexp.o.d +2 -0
- data/quickjs/.obj/libunicode.nolto.o +0 -0
- data/quickjs/.obj/libunicode.o +0 -0
- data/quickjs/.obj/libunicode.o.d +1 -0
- data/quickjs/.obj/qjs.check.o +0 -0
- data/quickjs/.obj/qjs.check.o.d +1 -0
- data/quickjs/.obj/qjs.o +0 -0
- data/quickjs/.obj/qjs.o.d +1 -0
- data/quickjs/.obj/qjsc.o +0 -0
- data/quickjs/.obj/qjsc.o.d +1 -0
- data/quickjs/.obj/qjscalc.o +0 -0
- data/quickjs/.obj/qjscalc.o.d +1 -0
- data/quickjs/.obj/quickjs-libc.nolto.o +0 -0
- data/quickjs/.obj/quickjs-libc.o +0 -0
- data/quickjs/.obj/quickjs-libc.o.d +2 -0
- data/quickjs/.obj/quickjs.check.o +0 -0
- data/quickjs/.obj/quickjs.check.o.d +2 -0
- data/quickjs/.obj/quickjs.nolto.o +0 -0
- data/quickjs/.obj/quickjs.o +0 -0
- data/quickjs/.obj/quickjs.o.d +2 -0
- data/quickjs/.obj/repl.o +0 -0
- data/quickjs/.obj/repl.o.d +1 -0
- data/quickjs/.obj/run-test262.o +0 -0
- data/quickjs/.obj/run-test262.o.d +2 -0
- data/quickjs/COMPILE_WIN +1 -0
- data/quickjs/Changelog +148 -0
- data/quickjs/LICENSE +22 -0
- data/quickjs/Makefile +470 -0
- data/quickjs/TODO +70 -0
- data/quickjs/VERSION +1 -0
- data/quickjs/a.c +50038 -0
- data/quickjs/a.js +26075 -0
- data/quickjs/a.rb +3 -0
- data/quickjs/cutils.c +631 -0
- data/quickjs/cutils.h +297 -0
- data/quickjs/doc/jsbignum.texi +589 -0
- data/quickjs/doc/quickjs.texi +1097 -0
- data/quickjs/examples/fib.c +72 -0
- data/quickjs/examples/fib_module.js +10 -0
- data/quickjs/examples/hello +0 -0
- data/quickjs/examples/hello.js +1 -0
- data/quickjs/examples/hello_module.js +6 -0
- data/quickjs/examples/pi_bigdecimal.js +68 -0
- data/quickjs/examples/pi_bigfloat.js +66 -0
- data/quickjs/examples/pi_bigint.js +118 -0
- data/quickjs/examples/point.c +151 -0
- data/quickjs/examples/test_fib.js +6 -0
- data/quickjs/examples/test_point.js +40 -0
- data/quickjs/hello.c +44 -0
- data/quickjs/libbf.c +8466 -0
- data/quickjs/libbf.h +535 -0
- data/quickjs/libquickjs.a +0 -0
- data/quickjs/libquickjs.lto.a +0 -0
- data/quickjs/libregexp-opcode.h +58 -0
- data/quickjs/libregexp.c +2610 -0
- data/quickjs/libregexp.h +92 -0
- data/quickjs/libunicode-table.h +4368 -0
- data/quickjs/libunicode.c +1556 -0
- data/quickjs/libunicode.h +124 -0
- data/quickjs/libwinpthread-1.dll +0 -0
- data/quickjs/list.h +100 -0
- data/quickjs/out.c +24 -0
- data/quickjs/out55.c +59 -0
- data/quickjs/out56.c +79 -0
- data/quickjs/out57.c +24 -0
- data/quickjs/out58.c +4 -0
- data/quickjs/p.exe +0 -0
- data/quickjs/qjs +0 -0
- data/quickjs/qjs.c +570 -0
- data/quickjs/qjsc +0 -0
- data/quickjs/qjsc.c +762 -0
- data/quickjs/qjsc.exe +0 -0
- data/quickjs/qjscalc.c +4005 -0
- data/quickjs/qjscalc.js +2657 -0
- data/quickjs/quickjs-atom.h +273 -0
- data/quickjs/quickjs-libc.c +3927 -0
- data/quickjs/quickjs-libc.h +59 -0
- data/quickjs/quickjs-opcode.h +365 -0
- data/quickjs/quickjs.c +54036 -0
- data/quickjs/quickjs.h +1049 -0
- data/quickjs/readme.txt +1 -0
- data/quickjs/release.sh +158 -0
- data/quickjs/repl.c +2020 -0
- data/quickjs/repl.js +1566 -0
- data/quickjs/run-test262 +0 -0
- data/quickjs/run-test262.c +2107 -0
- data/quickjs/test262.conf +199 -0
- data/quickjs/test262_errors.txt +35 -0
- data/quickjs/test262o.conf +410 -0
- data/quickjs/test262o_errors.txt +0 -0
- data/quickjs/tests/bjson.c +96 -0
- data/quickjs/tests/microbench.js +1065 -0
- data/quickjs/tests/test262.patch +71 -0
- data/quickjs/tests/test_bignum.js +326 -0
- data/quickjs/tests/test_bjson.js +191 -0
- data/quickjs/tests/test_builtin.js +685 -0
- data/quickjs/tests/test_closure.js +221 -0
- data/quickjs/tests/test_language.js +547 -0
- data/quickjs/tests/test_loop.js +368 -0
- data/quickjs/tests/test_op_overloading.js +207 -0
- data/quickjs/tests/test_qjscalc.js +256 -0
- data/quickjs/tests/test_std.js +281 -0
- data/quickjs/tests/test_worker.js +62 -0
- data/quickjs/tests/test_worker_module.js +31 -0
- data/quickjs/unicode_download.sh +19 -0
- data/quickjs/unicode_gen.c +3057 -0
- data/quickjs/unicode_gen_def.h +284 -0
- data/readline +3 -0
- data/rm_com +1 -0
- data/run.sh +13 -0
- data/scaling +6 -0
- data/script.js +572 -0
- data/server_creator/__ +307 -0
- data/server_creator/a/a (1).tar.gz +0 -0
- data/server_creator/a/a.out +0 -0
- data/server_creator/a/hello_world +0 -0
- data/server_creator/a/help +57 -0
- data/server_creator/a/main_v1.cpp +83 -0
- data/server_creator/a/my_libs_gregory/.deps +0 -0
- data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.lai +41 -0
- data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.o +0 -0
- data/server_creator/a/my_libs_gregory/.libs/mod_my_libs_gregory.so +0 -0
- data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.c +72 -0
- data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.la +41 -0
- data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.lo +12 -0
- data/server_creator/a/my_libs_gregory/mod_my_libs_gregory.slo +0 -0
- data/server_creator/a/nginx.conf +32 -0
- data/server_creator/a/six +1 -0
- data/server_creator/a.out +0 -0
- data/server_creator/all_code.cpp +448 -0
- data/server_creator/all_code.js +27 -0
- data/server_creator/code +510 -0
- data/server_creator/make_application +64 -0
- data/server_creator/prog.cpp +33 -0
- data/server_creator/prog.js +22 -0
- data/server_creator/program.js +745 -0
- data/server_creator/rm_com +1 -0
- data/server_creator/test.sh +82 -0
- data/speakcat.rb +9 -0
- data/string +48 -0
- data/super_trans +83 -0
- data/test.sh +21 -0
- data/todo +8 -0
- data/version_decrement +3 -0
- data/viu_license +21 -0
- data/windows/program.c +21 -0
- data/windows/program.exe +0 -0
- metadata +759 -0
data/server_creator/__
ADDED
|
@@ -0,0 +1,307 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
#include <cstddef>
|
|
7
|
+
#include <iostream>
|
|
8
|
+
#include <vector>
|
|
9
|
+
#include <sstream>
|
|
10
|
+
#include <cstring>
|
|
11
|
+
|
|
12
|
+
enum {INT, DOUBLE, STRING, VECTOR} Types;
|
|
13
|
+
|
|
14
|
+
#define c construct
|
|
15
|
+
|
|
16
|
+
class Type {
|
|
17
|
+
public:
|
|
18
|
+
double type, *value, refs;
|
|
19
|
+
|
|
20
|
+
operator std::string();
|
|
21
|
+
void print();
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
template <class A>
|
|
27
|
+
class Array_sub : public std::vector<A>
|
|
28
|
+
{
|
|
29
|
+
public:
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
inline std::string to_s_(const Type val_) {
|
|
34
|
+
|
|
35
|
+
if (val_.type == STRING) {
|
|
36
|
+
return *(const char**)&val_.value;
|
|
37
|
+
}
|
|
38
|
+
if (val_.type == INT) {
|
|
39
|
+
return std::to_string((long long int)val_.value);
|
|
40
|
+
}
|
|
41
|
+
if (val_.type == DOUBLE) {
|
|
42
|
+
return std::to_string(*(double*)val_.value);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (val_.type == VECTOR) {
|
|
46
|
+
return (*(Array_sub<A>**)(&val_.value))->to_s();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
std::cout << "Error";
|
|
50
|
+
exit(1);
|
|
51
|
+
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
Array_sub(std::initializer_list<A> a) : std::vector<A>{a}
|
|
56
|
+
{}
|
|
57
|
+
|
|
58
|
+
inline void push(A value) {
|
|
59
|
+
std::vector<A>::emplace_back(value);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
~Array_sub() {
|
|
63
|
+
for ( Type& i: *this) {
|
|
64
|
+
if (i.refs) {
|
|
65
|
+
--i.refs;
|
|
66
|
+
free(i.value);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
inline Array_sub<A>& operator<< (A v) {
|
|
74
|
+
push(v);
|
|
75
|
+
return *this;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/* void append() {
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
append_all() {
|
|
82
|
+
std::for_each(i.begin(), i.end(), append);
|
|
83
|
+
}*/
|
|
84
|
+
|
|
85
|
+
Type
|
|
86
|
+
construct(char* const a, const double refs) { return Type{2, (double*)a, refs}; }
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
inline auto surround(const char* first=, const char* second=) {
|
|
90
|
+
|
|
91
|
+
typedef Array_sub<Type> Array;
|
|
92
|
+
Array b{};
|
|
93
|
+
for (size_t i = 0; i < this->size(); ++i) {
|
|
94
|
+
std::string s{first};
|
|
95
|
+
s += to_s_((*this)[i]);
|
|
96
|
+
s += second;
|
|
97
|
+
|
|
98
|
+
b.push(c(strdup(s.c_str()), 1));
|
|
99
|
+
}
|
|
100
|
+
return b;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
inline auto js() {
|
|
104
|
+
return surround("<script type='text/javascript'>", "</script>");
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
operator std::string() {
|
|
108
|
+
return to_s();
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
inline auto append(const char* arg1) {
|
|
112
|
+
return surround("", arg1);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
inline auto prepend(const char* arg1) {
|
|
117
|
+
return surround("", arg1);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
inline auto quote() {
|
|
121
|
+
return surround("'", "'");
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
inline auto join(const char* delim) {
|
|
125
|
+
std::string result;
|
|
126
|
+
const auto length=this->size();
|
|
127
|
+
for (size_t i = 0; i < length; ++i) {
|
|
128
|
+
result += (*this)[i];
|
|
129
|
+
if (i==length-1) {
|
|
130
|
+
} else {
|
|
131
|
+
result += delim;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return result;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
inline auto html() {
|
|
139
|
+
return surround("<html><body>", "</body></html>");
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
inline auto p() {
|
|
143
|
+
return surround("<p>", "</p>");
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
inline auto div() {
|
|
147
|
+
return surround("<div>", "</div>");
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
inline auto nls() {
|
|
151
|
+
return surround("", "
|
|
152
|
+
");
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
std::string to_s() {
|
|
158
|
+
std::ostringstream str;
|
|
159
|
+
str << "[";
|
|
160
|
+
for (size_t i = 0; i < this->size(); ++i) {
|
|
161
|
+
str << to_s_((*this)[i]);
|
|
162
|
+
|
|
163
|
+
if (i == this->size() - 1) {
|
|
164
|
+
} else {
|
|
165
|
+
str << ", ";
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
str << "]";
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
return str.str();
|
|
173
|
+
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
typedef Array_sub<Type> Array;
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
Type::operator std::string() {
|
|
182
|
+
const Type& val_ = *this;
|
|
183
|
+
|
|
184
|
+
if (val_.type == STRING) {
|
|
185
|
+
return *(const char**)&val_.value;
|
|
186
|
+
}
|
|
187
|
+
if (val_.type == INT) {
|
|
188
|
+
return std::to_string((long long int)val_.value);
|
|
189
|
+
}
|
|
190
|
+
if (val_.type == DOUBLE) {
|
|
191
|
+
const size_t a = *(long long*)&val_.value;
|
|
192
|
+
return std::to_string((double)a);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
if (val_.type == VECTOR) {
|
|
196
|
+
return (*(Array **)(&val_.value))->to_s();
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
std::cout << "Error";
|
|
200
|
+
exit(1);
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
void puts(std::string a) {
|
|
204
|
+
puts(a.c_str());
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
void Type::print() {
|
|
208
|
+
puts(((std::string)(*this)).c_str());
|
|
209
|
+
// printf("%s
|
|
210
|
+
",
|
|
211
|
+
}
|
|
212
|
+
Type construct(const long long int a) { return Type{0, (double*)a,0}; }
|
|
213
|
+
|
|
214
|
+
|
|
215
|
+
Type construct(Array a) {return
|
|
216
|
+
Type{3, *(double**)&a,0};
|
|
217
|
+
|
|
218
|
+
}
|
|
219
|
+
Type operator ""_c(unsigned long long a) {
|
|
220
|
+
return c(a);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
Type construct(const double a) {
|
|
224
|
+
return Type{1, *(double**)&a, 0};
|
|
225
|
+
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
Type construct(const char* const a, const double refs=0) { return Type{2, (double*)a, refs}; }
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
#ifndef foo_macro
|
|
259
|
+
#define foo_macro
|
|
260
|
+
#undef foo
|
|
261
|
+
#undef foo_otherwise
|
|
262
|
+
#ifndef nop_func_macro
|
|
263
|
+
#define nop_func_macro
|
|
264
|
+
static void * nop_func(...) { return nullptr; }
|
|
265
|
+
#endif
|
|
266
|
+
#define foo_otherwise nop_func
|
|
267
|
+
|
|
268
|
+
#define function static inline void*
|
|
269
|
+
#define var auto
|
|
270
|
+
#define let auto
|
|
271
|
+
#define const const auto
|
|
272
|
+
function foo(Array & array, size_t i) {
|
|
273
|
+
void* rvalue;
|
|
274
|
+
|
|
275
|
+
;
|
|
276
|
+
const max = array.size();
|
|
277
|
+
while (i < max) {
|
|
278
|
+
Type element = array[i];
|
|
279
|
+
|
|
280
|
+
const v = element;
|
|
281
|
+
const value = element;
|
|
282
|
+
|
|
283
|
+
const condition = 1;
|
|
284
|
+
if (condition) {
|
|
285
|
+
rvalue = *(void**)(size_t*)&(std::cout << (std::string)element << std::endl);
|
|
286
|
+
} else {
|
|
287
|
+
rvalue = foo_otherwise(&(element), 0);
|
|
288
|
+
} ++i; }
|
|
289
|
+
return rvalue;
|
|
290
|
+
}
|
|
291
|
+
#endif
|
|
292
|
+
|
|
293
|
+
function e1638878978870_main() {
|
|
294
|
+
{Array a
|
|
295
|
+
{
|
|
296
|
+
c(1ll),
|
|
297
|
+
c(2ll),
|
|
298
|
+
c(3ll),
|
|
299
|
+
c(4ll),
|
|
300
|
+
c(5ll)
|
|
301
|
+
};
|
|
302
|
+
foo(a, 0);
|
|
303
|
+
return 0; }
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
int main() { e1638878978870_main(); }
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
the_config_file=/usr/share/nginx/nginx.conf
|
|
4
|
+
|
|
5
|
+
which spawn-fcgi > /dev/null || sudo apt-get install libfcgi-dev spawn-fcgi nginx curl
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
echo '
|
|
10
|
+
|
|
11
|
+
events {
|
|
12
|
+
worker_connections 1024;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
http {
|
|
16
|
+
server {
|
|
17
|
+
listen 80;
|
|
18
|
+
server_name localhost;
|
|
19
|
+
|
|
20
|
+
location / {
|
|
21
|
+
fastcgi_pass 127.0.0.1:8000;
|
|
22
|
+
|
|
23
|
+
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
|
24
|
+
fastcgi_param SERVER_SOFTWARE nginx;
|
|
25
|
+
fastcgi_param QUERY_STRING $query_string;
|
|
26
|
+
fastcgi_param REQUEST_METHOD $request_method;
|
|
27
|
+
fastcgi_param CONTENT_TYPE $content_type;
|
|
28
|
+
fastcgi_param CONTENT_LENGTH $content_length;
|
|
29
|
+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
30
|
+
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
|
31
|
+
fastcgi_param REQUEST_URI $request_uri;
|
|
32
|
+
fastcgi_param DOCUMENT_URI $document_uri;
|
|
33
|
+
fastcgi_param DOCUMENT_ROOT $document_root;
|
|
34
|
+
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
|
35
|
+
fastcgi_param REMOTE_ADDR $remote_addr;
|
|
36
|
+
fastcgi_param REMOTE_PORT $remote_port;
|
|
37
|
+
fastcgi_param SERVER_ADDR $server_addr;
|
|
38
|
+
fastcgi_param SERVER_PORT $server_port;
|
|
39
|
+
fastcgi_param SERVER_NAME $server_name;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
'>$the_config_file
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
killall nginx hello_world apache2 spawn-fcgi
|
|
47
|
+
|
|
48
|
+
nginx -c $the_config_file
|
|
49
|
+
|
|
50
|
+
g++ *.cpp -lfcgi++ -lfcgi -O3 -s -Wall -Wextra -o hello_world
|
|
51
|
+
|
|
52
|
+
# spawn the fcgi app on port 8000 with no fork
|
|
53
|
+
spawn-fcgi -p 8000 -n hello_world &
|
|
54
|
+
|
|
55
|
+
#clear
|
|
56
|
+
|
|
57
|
+
echo "Everything should work fine."
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#include <iostream>
|
|
2
|
+
#include "fcgio.h"
|
|
3
|
+
|
|
4
|
+
using namespace std;
|
|
5
|
+
|
|
6
|
+
int mmain();
|
|
7
|
+
#include <array>
|
|
8
|
+
|
|
9
|
+
int main(void) {
|
|
10
|
+
// Backup the stdio streambufs
|
|
11
|
+
streambuf * cin_streambuf = cin.rdbuf();
|
|
12
|
+
streambuf * cout_streambuf = cout.rdbuf();
|
|
13
|
+
streambuf * cerr_streambuf = cerr.rdbuf();
|
|
14
|
+
|
|
15
|
+
FCGX_Request request;
|
|
16
|
+
|
|
17
|
+
FCGX_Init();
|
|
18
|
+
FCGX_InitRequest(&request, 0, 0);
|
|
19
|
+
|
|
20
|
+
while (FCGX_Accept_r(&request) == 0) {
|
|
21
|
+
fcgi_streambuf cin_fcgi_streambuf(request.in);
|
|
22
|
+
fcgi_streambuf cout_fcgi_streambuf(request.out);
|
|
23
|
+
fcgi_streambuf cerr_fcgi_streambuf(request.err);
|
|
24
|
+
|
|
25
|
+
cin.rdbuf(&cin_fcgi_streambuf);
|
|
26
|
+
cout.rdbuf(&cout_fcgi_streambuf);
|
|
27
|
+
cerr.rdbuf(&cerr_fcgi_streambuf);
|
|
28
|
+
|
|
29
|
+
cout << "Content-type: text/html\r\n"
|
|
30
|
+
<< "\r\n"
|
|
31
|
+
<< "<html>\n"
|
|
32
|
+
<< " <head>\n"
|
|
33
|
+
<< " <title>Hello, World!</title>\n"
|
|
34
|
+
<< " </head>\n"
|
|
35
|
+
<< " <body>\n"
|
|
36
|
+
<< " <h1>Hello, World!</h1>\n"
|
|
37
|
+
<< " </body>\n"
|
|
38
|
+
<< "</html>\n";
|
|
39
|
+
|
|
40
|
+
system("echo 5 > /root/six");
|
|
41
|
+
mmain();
|
|
42
|
+
// system("echo 6");
|
|
43
|
+
|
|
44
|
+
// Note: the fcgi_streambuf destructor will auto flush
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// restore stdio streambufs
|
|
48
|
+
cin.rdbuf(cin_streambuf);
|
|
49
|
+
cout.rdbuf(cout_streambuf);
|
|
50
|
+
cerr.rdbuf(cerr_streambuf);
|
|
51
|
+
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
int mmain()
|
|
60
|
+
{
|
|
61
|
+
std::string command("ls * 2>&1");
|
|
62
|
+
|
|
63
|
+
std::array<char, 4096> buffer;
|
|
64
|
+
std::string result;
|
|
65
|
+
|
|
66
|
+
std::cout << "Opening reading pipe" << std::endl;
|
|
67
|
+
FILE* pipe = popen(command.c_str(), "r");
|
|
68
|
+
if (!pipe)
|
|
69
|
+
{
|
|
70
|
+
std::cerr << "Couldn't start command." << std::endl;
|
|
71
|
+
return 0;
|
|
72
|
+
}
|
|
73
|
+
while (fgets(buffer.data(), 128, pipe) != NULL) {
|
|
74
|
+
//std::cout << "Reading..." << std::endl;
|
|
75
|
+
result += buffer.data();
|
|
76
|
+
}
|
|
77
|
+
auto returnCode = pclose(pipe);
|
|
78
|
+
|
|
79
|
+
std::cout << result << std::endl;
|
|
80
|
+
std::cout << returnCode << std::endl;
|
|
81
|
+
|
|
82
|
+
return 0;
|
|
83
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# mod_my_libs_gregory.la - a libtool library file
|
|
2
|
+
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-13
|
|
3
|
+
#
|
|
4
|
+
# Please DO NOT delete this file!
|
|
5
|
+
# It is necessary for linking the library.
|
|
6
|
+
|
|
7
|
+
# The name that we can dlopen(3).
|
|
8
|
+
dlname='mod_my_libs_gregory.so'
|
|
9
|
+
|
|
10
|
+
# Names of this library.
|
|
11
|
+
library_names='mod_my_libs_gregory.so mod_my_libs_gregory.so mod_my_libs_gregory.so'
|
|
12
|
+
|
|
13
|
+
# The name of the static archive.
|
|
14
|
+
old_library=''
|
|
15
|
+
|
|
16
|
+
# Linker flags that cannot go in dependency_libs.
|
|
17
|
+
inherited_linker_flags=''
|
|
18
|
+
|
|
19
|
+
# Libraries that this one depends upon.
|
|
20
|
+
dependency_libs=''
|
|
21
|
+
|
|
22
|
+
# Names of additional weak libraries provided by this library
|
|
23
|
+
weak_library_names=''
|
|
24
|
+
|
|
25
|
+
# Version information for mod_my_libs_gregory.
|
|
26
|
+
current=0
|
|
27
|
+
age=0
|
|
28
|
+
revision=0
|
|
29
|
+
|
|
30
|
+
# Is this an already installed library?
|
|
31
|
+
installed=yes
|
|
32
|
+
|
|
33
|
+
# Should we warn about portability when linking against -modules?
|
|
34
|
+
shouldnotlink=yes
|
|
35
|
+
|
|
36
|
+
# Files to dlopen/dlpreopen
|
|
37
|
+
dlopen=''
|
|
38
|
+
dlpreopen=''
|
|
39
|
+
|
|
40
|
+
# Directory that this library needs to be installed in:
|
|
41
|
+
libdir='/usr/lib/apache2/modules'
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
static void foo() {}
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
#include "httpd.h"
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
#include "http_config.h"
|
|
14
|
+
#include "http_protocol.h"
|
|
15
|
+
#include "ap_config.h"
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
//extern "C" {
|
|
19
|
+
/* The sample content handler */
|
|
20
|
+
static int my_libs_gregory_handler(request_rec *r)
|
|
21
|
+
{
|
|
22
|
+
if (strcmp(r->handler, "my_libs_gregory")) {
|
|
23
|
+
return DECLINED;
|
|
24
|
+
};char buf[ 1000] = {}; //ap_rputs(buf, getcwd());
|
|
25
|
+
|
|
26
|
+
system("echo foo > /tmp/gr");
|
|
27
|
+
int file=open("/tmp/file",O_APPEND|O_CREAT|O_WRONLY
|
|
28
|
+
, 0642);// );// , O_WRONLY);
|
|
29
|
+
ap_rprintf(r, "%s %d\n", strerror(errno), file); //"Hello",r);
|
|
30
|
+
write(file, "Hello", 5);
|
|
31
|
+
r->content_type = "text/html";
|
|
32
|
+
|
|
33
|
+
if (!r->header_only) {
|
|
34
|
+
// ap_rputs(getwd(), r);
|
|
35
|
+
ap_rputs("Theam\n", r);
|
|
36
|
+
ap_rputs("Hello",r);
|
|
37
|
+
puts("g");
|
|
38
|
+
|
|
39
|
+
while (1==2) {
|
|
40
|
+
FILE* f = fopen("/tmp/fifo", "w");
|
|
41
|
+
|
|
42
|
+
if (!f) continue;
|
|
43
|
+
|
|
44
|
+
while (fwrite("D", 1, 1, f) != 1) {
|
|
45
|
+
//continue;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
fclose(f);
|
|
49
|
+
break;
|
|
50
|
+
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return OK;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
static void my_libs_gregory_register_hooks(apr_pool_t *p)
|
|
58
|
+
{
|
|
59
|
+
ap_hook_handler(my_libs_gregory_handler, NULL, NULL, APR_HOOK_MIDDLE);
|
|
60
|
+
}
|
|
61
|
+
//};
|
|
62
|
+
|
|
63
|
+
/* Dispatch list for API hooks */
|
|
64
|
+
module AP_MODULE_DECLARE_DATA my_libs_gregory_module = {
|
|
65
|
+
STANDARD20_MODULE_STUFF,
|
|
66
|
+
NULL, /* create per-dir config structures */
|
|
67
|
+
NULL, /* merge per-dir config structures */
|
|
68
|
+
NULL, /* create per-server config structures */
|
|
69
|
+
NULL, /* merge per-server config structures */
|
|
70
|
+
NULL, /* table of config file commands */
|
|
71
|
+
my_libs_gregory_register_hooks /* register hooks */
|
|
72
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# mod_my_libs_gregory.la - a libtool library file
|
|
2
|
+
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-13
|
|
3
|
+
#
|
|
4
|
+
# Please DO NOT delete this file!
|
|
5
|
+
# It is necessary for linking the library.
|
|
6
|
+
|
|
7
|
+
# The name that we can dlopen(3).
|
|
8
|
+
dlname='mod_my_libs_gregory.so'
|
|
9
|
+
|
|
10
|
+
# Names of this library.
|
|
11
|
+
library_names='mod_my_libs_gregory.so mod_my_libs_gregory.so mod_my_libs_gregory.so'
|
|
12
|
+
|
|
13
|
+
# The name of the static archive.
|
|
14
|
+
old_library=''
|
|
15
|
+
|
|
16
|
+
# Linker flags that cannot go in dependency_libs.
|
|
17
|
+
inherited_linker_flags=''
|
|
18
|
+
|
|
19
|
+
# Libraries that this one depends upon.
|
|
20
|
+
dependency_libs=''
|
|
21
|
+
|
|
22
|
+
# Names of additional weak libraries provided by this library
|
|
23
|
+
weak_library_names=''
|
|
24
|
+
|
|
25
|
+
# Version information for mod_my_libs_gregory.
|
|
26
|
+
current=0
|
|
27
|
+
age=0
|
|
28
|
+
revision=0
|
|
29
|
+
|
|
30
|
+
# Is this an already installed library?
|
|
31
|
+
installed=no
|
|
32
|
+
|
|
33
|
+
# Should we warn about portability when linking against -modules?
|
|
34
|
+
shouldnotlink=yes
|
|
35
|
+
|
|
36
|
+
# Files to dlopen/dlpreopen
|
|
37
|
+
dlopen=''
|
|
38
|
+
dlpreopen=''
|
|
39
|
+
|
|
40
|
+
# Directory that this library needs to be installed in:
|
|
41
|
+
libdir='/usr/lib/apache2/modules'
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# mod_my_libs_gregory.lo - a libtool object file
|
|
2
|
+
# Generated by libtool (GNU libtool) 2.4.6 Debian-2.4.6-13
|
|
3
|
+
#
|
|
4
|
+
# Please DO NOT delete this file!
|
|
5
|
+
# It is necessary for linking the library.
|
|
6
|
+
|
|
7
|
+
# Name of the PIC object.
|
|
8
|
+
pic_object='.libs/mod_my_libs_gregory.o'
|
|
9
|
+
|
|
10
|
+
# Name of the non-PIC object
|
|
11
|
+
non_pic_object=none
|
|
12
|
+
|
|
File without changes
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
events {
|
|
2
|
+
worker_connections 1024;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
http {
|
|
6
|
+
server {
|
|
7
|
+
listen 80;
|
|
8
|
+
server_name localhost;
|
|
9
|
+
|
|
10
|
+
location / {
|
|
11
|
+
fastcgi_pass 127.0.0.1:8000;
|
|
12
|
+
|
|
13
|
+
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
|
14
|
+
fastcgi_param SERVER_SOFTWARE nginx;
|
|
15
|
+
fastcgi_param QUERY_STRING $query_string;
|
|
16
|
+
fastcgi_param REQUEST_METHOD $request_method;
|
|
17
|
+
fastcgi_param CONTENT_TYPE $content_type;
|
|
18
|
+
fastcgi_param CONTENT_LENGTH $content_length;
|
|
19
|
+
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
20
|
+
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
|
21
|
+
fastcgi_param REQUEST_URI $request_uri;
|
|
22
|
+
fastcgi_param DOCUMENT_URI $document_uri;
|
|
23
|
+
fastcgi_param DOCUMENT_ROOT $document_root;
|
|
24
|
+
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
|
25
|
+
fastcgi_param REMOTE_ADDR $remote_addr;
|
|
26
|
+
fastcgi_param REMOTE_PORT $remote_port;
|
|
27
|
+
fastcgi_param SERVER_ADDR $server_addr;
|
|
28
|
+
fastcgi_param SERVER_PORT $server_port;
|
|
29
|
+
fastcgi_param SERVER_NAME $server_name;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
5
|
|
Binary file
|