;;;***************************************************************************
;;;                                  _   _ ____  _
;;;  Project                     ___| | | |  _ \| |
;;;                             / __| | | | |_) | |
;;;                            | (__| |_| |  _ <| |___
;;;                             \___|\___/|_| \_\_____|
;;;
;;; Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
;;;
;;; This software is licensed as described in the file COPYING, which
;;; you should have received as part of this distribution. The terms
;;; are also available at https://curl.se/docs/copyright.html.
;;;
;;; You may opt to use, copy, modify, merge, publish, distribute and/or sell
;;; copies of the Software, and permit persons to whom the Software is
;;; furnished to do so, under the terms of the COPYING file.
;;;
;;; This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
;;; KIND, either express or implied.
;;;
;;; SPDX-License-Identifier: curl
;;;
;;;***************************************************************************
;;; Directory Local Variables
;;; See Info node `(emacs) Directory Variables' for more information.

((nil . ((indent-tabs-mode . nil)
         (show-trailing-whitespace . t)))
 (c-mode . ((c-basic-offset . 2)
            ))
 (c++-mode . ((c-basic-offset . 2)
              ))
 )
