Skip to content

Commit

Permalink
add ftp library
Browse files Browse the repository at this point in the history
This is a good one. It doesn't need an external library and found a ton of corner cases I screwed up. It also got my stream handling much more solid.

I had to wrap other streams as they came into the extension and then unwrap them on the way out

Reviewed By: @sgolemon

Differential Revision: D945250
  • Loading branch information
ptarjan authored and sgolemon committed Sep 9, 2013
1 parent fd82901 commit 7d8a931
Show file tree
Hide file tree
Showing 93 changed files with 9,515 additions and 25 deletions.
4 changes: 3 additions & 1 deletion hphp/NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,15 @@ future
- Optimize closure invocation and __invoke (~3x faster to invoke)
- Import gettext extension
- string and object allocation optimizations (reduced memory usage for both)
- Import YAML Extension
- Import YAML extension
- Import ftp extension

"Kimchi" 2-Sep-2013
- Fix order of custom attributes and visibility in ctor arg promotion
- Implement CachingIterator
- Implement RecursiveCachingIterator
- Generalized heuristic for choosing when to inline in the jit
- Introduced a Zend compatibility layer to compile extensions
- Imported calendar extension
- Use gcc-4.8.1 by default
- Improve hhvm commandline parsing logic
Expand Down
1 change: 1 addition & 0 deletions hphp/runtime/ext_hhvm/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ endforeach()

auto_sources(HPHP_IDLS "*.idl.json" "RECURSE" "${HPHP_HOME}/hphp/system/idl")
list(REMOVE_ITEM HPHP_IDLS "${HPHP_HOME}/hphp/system/idl/calendar.idl.json")
list(REMOVE_ITEM HPHP_IDLS "${HPHP_HOME}/hphp/system/idl/ftp.idl.json")
list(REMOVE_ITEM HPHP_IDLS "${HPHP_HOME}/hphp/system/idl/gettext.idl.json")
list(REMOVE_ITEM HPHP_IDLS "${HPHP_HOME}/hphp/system/idl/yaml.idl.json")

Expand Down
24 changes: 24 additions & 0 deletions hphp/runtime/ext_zend_compat/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Zend Extension Source Compatability Layer

If you want to compile your existing zend extension against HHVM, you can use
these headers. The runtimes are similar enough that we can just map the macros
to our data structures and it mostly works.

## Migration Steps

cp -R <zend_extension_dir> runtime/ext_zend_compat/<ext_name>

# move all the .c to .cpp
for i in runtime/ext_zend_compat/<ext_name>/*.c; do mv $i "$i"pp; done

# If your extension has docs on php.net you can make the idl like this:
cd system/idl
php newexp.php <ext_name>
# Otherwise you have to make the .idl by hand

<setup the build environment>

## Things you have to fix in your code

* C++ compile errors
* Use `Z_RESVAL` instead of `Z_LVAL` for resource access
Loading

0 comments on commit 7d8a931

Please sign in to comment.