1* /* 2* * Copyright 2021 Google LLC 3* * 4* * Licensed under the Apache License, Version 2.0 (the "License"); 5* * you may not use this file except in compliance with the License. 6* * You may obtain a copy of the License at 7* * 8* * http://www.apache.org/licenses/LICENSE-2.0 9* * 10* * Unless required by applicable law or agreed to in writing, software 11* * distributed under the License is distributed on an "AS IS" BASIS, 12* * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13* * See the License for the specific language governing permissions and 14* * limitations under the License. 15* */ 16* 17* #pragma once 18* 19* #define RETURN_IF_ERROR(expr, msg) \ 20* do \ 21* { \ 22* int _ret = (expr); \ 23* if (_ret < 0) \ 24* { \ 25* std::perror(msg); \ 26* return _ret; \ 27* } \ 28* } while (0) 29*