blob: 9c90d9ec1797745b91c7396984efbca906473b5a [file] [log] [blame]
Taylor Brandstetter5d97a9a2016-06-10 14:17:27 -07001/*
2 * Copyright 2016 The WebRTC Project Authors. All rights reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#include "rtc_base/location.h"
Taylor Brandstetter5d97a9a2016-06-10 14:17:27 -070012
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020013#include "rtc_base/stringutils.h"
Taylor Brandstetter5d97a9a2016-06-10 14:17:27 -070014
15namespace rtc {
16
17Location::Location(const char* function_name, const char* file_and_line)
18 : function_name_(function_name), file_and_line_(file_and_line) {}
19
20Location::Location() : function_name_("Unknown"), file_and_line_("Unknown") {}
21
22Location::Location(const Location& other)
23 : function_name_(other.function_name_),
24 file_and_line_(other.file_and_line_) {}
25
26Location& Location::operator=(const Location& other) {
27 function_name_ = other.function_name_;
28 file_and_line_ = other.file_and_line_;
29 return *this;
30}
31
32std::string Location::ToString() const {
33 char buf[256];
34 sprintfn(buf, sizeof(buf), "%s@%s", function_name_, file_and_line_);
35 return buf;
36}
37
38} // namespace rtc