You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by mt...@apache.org on 2010/05/20 10:29:05 UTC
svn commit: r946565 -
/trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc
Author: mturk
Date: Thu May 20 08:29:04 2010
New Revision: 946565
URL: http://svn.apache.org/viewvc?rev=946565&view=rev
Log:
TS-345 Use layout engine for resolving paths
Modified:
trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc
Modified: trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc?rev=946565&r1=946564&r2=946565&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc (original)
+++ trafficserver/traffic/trunk/proxy/mgmt2/api2/CoreAPI.cc Thu May 20 08:29:04 2010
@@ -46,6 +46,7 @@
#include "CoreAPIShared.h"
#include "CfgContextUtils.h"
#include "EventCallback.h"
+#include "I_Layout.h"
extern int diags_init; // from Main.cc
@@ -816,6 +817,7 @@ SnapshotTake(char *snapshot_name)
{
char *snapDirFromRecordsConf;
bool found;
+ char snapDir[PATH_NAME_MAX + 1];
if (!snapshot_name)
return INK_ERR_PARAMS;
@@ -824,27 +826,14 @@ SnapshotTake(char *snapshot_name)
found = (rec_err == REC_ERR_OKAY);
ink_assert(found);
-
- if (snapDirFromRecordsConf[0] != '/') {
- char *config_dir;
- int rec_err = RecGetRecordString_Xmalloc("proxy.config.config_dir", &config_dir);
- found = (rec_err == REC_ERR_OKAY);
- ink_assert(found);
-
- char *snap_dir_cpy = strdup(snapDirFromRecordsConf);
- int newLen;
-
- newLen = strlen(snap_dir_cpy) + strlen(config_dir) + 2;
- xfree(snapDirFromRecordsConf);
- snapDirFromRecordsConf = new char[newLen];
- ink_assert(snapDirFromRecordsConf != NULL);
- snprintf(snapDirFromRecordsConf, newLen, "%s%s%s", config_dir, DIR_SEP, snap_dir_cpy);
- xfree(config_dir);
- xfree(snap_dir_cpy);
- }
-
- SnapResult result = configFiles->takeSnap(snapshot_name, snapDirFromRecordsConf);
+ // XXX: Why was that offset to config dir?
+ // Any path should be prefix relative thought
+ //
+ Layout::relative_to(snapDir, sizeof(snapDir), Layout::get()->sysconfdir,
+ snapDirFromRecordsConf);
xfree(snapDirFromRecordsConf);
+
+ SnapResult result = configFiles->takeSnap(snapshot_name, snapDir);
if (result != SNAP_OK)
return INK_ERR_FAIL;
else
@@ -856,6 +845,7 @@ SnapshotRestore(char *snapshot_name)
{
char *snapDirFromRecordsConf;
bool found;
+ char snapDir[PATH_NAME_MAX + 1];
if (!snapshot_name)
return INK_ERR_PARAMS;
@@ -863,26 +853,14 @@ SnapshotRestore(char *snapshot_name)
int rec_err = RecGetRecordString_Xmalloc("proxy.config.snapshot_dir", &snapDirFromRecordsConf);
found = (rec_err == REC_ERR_OKAY);
ink_assert(found);
+ // XXX: Why was that offset to config dir?
+ // Any path should be prefix relative thought
+ //
+ Layout::relative_to(snapDir, sizeof(snapDir), Layout::get()->sysconfdir,
+ snapDirFromRecordsConf);
+ xfree(snapDirFromRecordsConf);
- if (snapDirFromRecordsConf[0] != '/') {
- char *config_dir;
- int rec_err = RecGetRecordString_Xmalloc("proxy.config.config_dir", &config_dir);
- found = (rec_err == REC_ERR_OKAY);
- ink_assert(found);
-
- char *snap_dir_cpy = strdup(snapDirFromRecordsConf);
- int newLen;
-
- newLen = strlen(snap_dir_cpy) + strlen(config_dir) + 2;
- xfree(snapDirFromRecordsConf);
- snapDirFromRecordsConf = new char[newLen];
- ink_assert(snapDirFromRecordsConf != NULL);
- snprintf(snapDirFromRecordsConf, newLen, "%s%s%s", config_dir, DIR_SEP, snap_dir_cpy);
- xfree(config_dir);
- xfree(snap_dir_cpy);
- }
-
- SnapResult result = configFiles->restoreSnap(snapshot_name, snapDirFromRecordsConf);
+ SnapResult result = configFiles->restoreSnap(snapshot_name, snapDir);
xfree(snapDirFromRecordsConf);
if (result != SNAP_OK)
return INK_ERR_FAIL;
@@ -895,32 +873,22 @@ SnapshotRemove(char *snapshot_name)
{
char *snapDirFromRecordsConf;
bool found;
+ char snapDir[PATH_NAME_MAX + 1];
+
if (!snapshot_name)
return INK_ERR_PARAMS;
int rec_err = RecGetRecordString_Xmalloc("proxy.config.snapshot_dir", &snapDirFromRecordsConf);
found = (rec_err == REC_ERR_OKAY);
ink_assert(found);
+ // XXX: Why was that offset to config dir?
+ // Any path should be prefix relative thought
+ //
+ Layout::relative_to(snapDir, sizeof(snapDir), Layout::get()->sysconfdir,
+ snapDirFromRecordsConf);
+ xfree(snapDirFromRecordsConf);
- if (snapDirFromRecordsConf[0] != '/') {
- char *config_dir;
- rec_err = RecGetRecordString_Xmalloc("proxy.config.config_dir", &config_dir);
- found = (rec_err == REC_ERR_OKAY);
- ink_assert(found);
-
- char *snap_dir_cpy = strdup(snapDirFromRecordsConf);
- int newLen;
-
- newLen = strlen(snap_dir_cpy) + strlen(config_dir) + 2;
- xfree(snapDirFromRecordsConf);
- snapDirFromRecordsConf = new char[newLen];
- ink_assert(snapDirFromRecordsConf != NULL);
- snprintf(snapDirFromRecordsConf, newLen, "%s%s%s", config_dir, DIR_SEP, snap_dir_cpy);
- xfree(config_dir);
- xfree(snap_dir_cpy);
- }
-
- SnapResult result = configFiles->removeSnap(snapshot_name, snapDirFromRecordsConf);
+ SnapResult result = configFiles->removeSnap(snapshot_name, snapDir);
xfree(snapDirFromRecordsConf);
if (result != SNAP_OK)
return INK_ERR_FAIL;