summaryrefslogtreecommitdiffstats
path: root/relocate.php
diff options
context:
space:
mode:
Diffstat (limited to 'relocate.php')
-rw-r--r--relocate.php61
1 files changed, 0 insertions, 61 deletions
diff --git a/relocate.php b/relocate.php
deleted file mode 100644
index 8475b33..0000000
--- a/relocate.php
+++ /dev/null
@@ -1,61 +0,0 @@
-<?php
-
-#
-# relocate.php /path/to/file prefix
-#
-# Takes a file as input and a string prefix; reads
-# the file as a serialized data blob and strips PREFIX
-# from the beginning of each string value within the blob.
-# Serializes again and writes output to stdout.
-#
-
-$file = $_SERVER['argv'][1];
-$destdir = $_SERVER['argv'][2];
-
-$destdir_len = strlen($destdir);
-
-function relocate_string($value) {
- global $destdir, $destdir_len;
-
- if (strncmp($value, $destdir, $destdir_len) == 0) {
- $value = substr($value, $destdir_len);
- }
- return $value;
-}
-
-function relocate_value($value) {
- if (is_string($value)) {
- $value = relocate_string($value);
- } else if (is_array($value)) {
- $value = relocate_array($value);
- }
-
- return $value;
-}
-
-function relocate_array($array) {
- $result = array();
-
- foreach ($array as $key => $value) {
- if (is_string($key)) {
- $key = relocate_string($key);
- }
- $result[$key] = relocate_value($value);
- }
-
- return $result;
-}
-
-$input = file_get_contents($file);
-
-# Special case for /etc/pear.conf.
-if (strncmp($input, "#PEAR_Config 0.9\n", 17) == 0) {
- echo substr($input, 0, 17);
- $s = substr($input, 17);
-} else {
- $s = $input;
-}
-
-echo serialize(relocate_value(unserialize($s)));
-
-?> \ No newline at end of file