From unknown Fri Jun 20 07:28:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24044: [PATCH] fileio.c: introduce make_temp_name_buf Resent-From: Alexnader Kuleshov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 21 Jul 2016 10:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 24044 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 24044@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.14690953661305 (code B ref -1); Thu, 21 Jul 2016 10:03:01 +0000 Received: (at submit) by debbugs.gnu.org; 21 Jul 2016 10:02:46 +0000 Received: from localhost ([127.0.0.1]:59307 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bQAoY-0000Kz-AS for submit@debbugs.gnu.org; Thu, 21 Jul 2016 06:02:46 -0400 Received: from eggs.gnu.org ([208.118.235.92]:39902) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bQAoW-0000Kn-Ux for submit@debbugs.gnu.org; Thu, 21 Jul 2016 06:02:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bQAoQ-00053i-Rq for submit@debbugs.gnu.org; Thu, 21 Jul 2016 06:02:39 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:37408) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bQAoQ-00053S-O9 for submit@debbugs.gnu.org; Thu, 21 Jul 2016 06:02:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59088) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bQAoO-0001YW-B5 for bug-gnu-emacs@gnu.org; Thu, 21 Jul 2016 06:02:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bQAoI-000516-T3 for bug-gnu-emacs@gnu.org; Thu, 21 Jul 2016 06:02:35 -0400 Received: from mail-lf0-x22d.google.com ([2a00:1450:4010:c07::22d]:32940) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bQAoI-00050s-Lp for bug-gnu-emacs@gnu.org; Thu, 21 Jul 2016 06:02:30 -0400 Received: by mail-lf0-x22d.google.com with SMTP id b199so57255839lfe.0 for ; Thu, 21 Jul 2016 03:02:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:subject:message-id:mime-version:content-disposition :user-agent; bh=3AK3Wu0pYSwlNcLfhKuoIeBA6UqpPOe3WsFrfRYj2eA=; b=A+ipUm3BMT76hmdvSX2LHsZOdAv6WRPec8e7JJvY1OzW1WjoGsEjSL0tO8JcRJkhdt 1OxezMbiUqYaqqoLPV4ncWL6q7Mgd+ChzARfJN+FXf8LJPHDkgzqzUgDEjT0kPvZBAXk Xdv0p11+nrvQPX5SlgQ7yi5opN00tbNINcgiHvrxDBZ2AcVHVRDcSqFXHMO8JQvM51/3 cFBo0tAmeTZhw7LwsbSjbkdR5OgRflA0dkafWdsNQ955m/GW475OI5SNdhwGJfIUNJdx dIHEyqjpeWMRxquTwJleOHw3WRXLs06tBIdZZsyvsx+sDC+NA0XnQBzzZBXaPR89WaTG dyiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:subject:message-id:mime-version :content-disposition:user-agent; bh=3AK3Wu0pYSwlNcLfhKuoIeBA6UqpPOe3WsFrfRYj2eA=; b=U5kHDjd9k5Mlv80bhrxDgOpt+ui1wgpzhct4DOHyfmOv7ikJHVn9tTy9Bl0dvcpYy4 hnATBolTKuSYBW9/ddlEOKmNAszQKrYohxv34bdLMDkQxskHA42kdnPxbrYJJnxogH4a QnqZUGrOs/X/IAKF6e9BxeuTW4/gGewthzi7PziU6hFBkGlkJcHiTnBZxQuZEliuesp8 +3CUCUD5AO1oGyA8CSj8jWduMl5qgFlpsE9LnIsIZBJem/GmmHIiybeMW3FEVNyP7riz I2WC6Hci7eUJnjA7Lcgulf+YH68WjcTzVW6x/XNwU7UqJY9CDlkAJPMeJE4ByGAwy4UG s21Q== X-Gm-Message-State: ALyK8tLrKMAV7Id9kIJqkruN7tYbbD7sy0cIq/lNC6aER4yQlzn7EvGNvd+rUy+cezTnjw== X-Received: by 10.25.126.6 with SMTP id z6mr20951829lfc.155.1469095349516; Thu, 21 Jul 2016 03:02:29 -0700 (PDT) Received: from localhost ([178.89.43.159]) by smtp.gmail.com with ESMTPSA id g69sm1479160lji.44.2016.07.21.03.02.28 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 21 Jul 2016 03:02:28 -0700 (PDT) Date: Thu, 21 Jul 2016 16:02:21 +0600 From: Alexnader Kuleshov Message-ID: <20160721100221.GA27186@localhost> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="AWniW0JNca5xppdA" Content-Disposition: inline X-Operating-System: Linux X-Date: Thu Jul 21 15:32:33 +06 2016 User-Agent: Mutt/1.6.0-rc0 ((null)) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --AWniW0JNca5xppdA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hello, The make_temp_name function in a case when BASE64_P is true or when HAVE_LONG_FILE_NAMES is not defined builds buffer where first three characters is a PID in base64 encoding. This leads to some of code duplication. Attached patch introduces make_temp_name_buf() function which will do this functionality and allows to avoid code duplication. Thank you --AWniW0JNca5xppdA Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="0001-fileio.c-introduce-make_temp_name_buf.patch" >From c58d13c750901e9f47c99dd2466e95dabb3730a1 Mon Sep 17 00:00:00 2001 From: Alexander Kuleshov Date: Wed, 20 Jul 2016 18:33:55 +0600 Subject: [PATCH] fileio.c: introduce make_temp_name_buf * src/fileio.c: New function - make_temp_name_buf. Use it in the make_temp_name() function. --- src/fileio.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/fileio.c b/src/fileio.c index b1f9d3c..a23a5fc 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -620,6 +620,16 @@ static const char make_temp_name_tbl[64] = '4','5','6','7','8','9','-','_' }; +/* Add 3 characters in base64 encoding to the given buffer */ + +static char *make_temp_name_buf (char *buf, unsigned num) { + buf[0] = make_temp_name_tbl[num & 63], num >>= 6; + buf[1] = make_temp_name_tbl[num & 63], num >>= 6; + buf[2] = make_temp_name_tbl[num & 63], num >>= 6; + + return buf; +} + static unsigned make_temp_name_count, make_temp_name_count_initialized_p; /* Value is a temporary file name starting with PREFIX, a string. @@ -659,9 +669,7 @@ make_temp_name (Lisp_Object prefix, bool base64_p) if (base64_p) { - pidbuf[0] = make_temp_name_tbl[pid & 63], pid >>= 6; - pidbuf[1] = make_temp_name_tbl[pid & 63], pid >>= 6; - pidbuf[2] = make_temp_name_tbl[pid & 63], pid >>= 6; + make_temp_name_buf (pidbuf, pid); pidlen = 3; } else @@ -669,9 +677,7 @@ make_temp_name (Lisp_Object prefix, bool base64_p) #ifdef HAVE_LONG_FILE_NAMES pidlen = sprintf (pidbuf, "%"pMd, pid); #else - pidbuf[0] = make_temp_name_tbl[pid & 63], pid >>= 6; - pidbuf[1] = make_temp_name_tbl[pid & 63], pid >>= 6; - pidbuf[2] = make_temp_name_tbl[pid & 63], pid >>= 6; + make_temp_name_buf (pidbuf, pid); pidlen = 3; #endif } @@ -705,9 +711,7 @@ make_temp_name (Lisp_Object prefix, bool base64_p) { unsigned num = make_temp_name_count; - p[0] = make_temp_name_tbl[num & 63], num >>= 6; - p[1] = make_temp_name_tbl[num & 63], num >>= 6; - p[2] = make_temp_name_tbl[num & 63], num >>= 6; + make_temp_name_buf (p, num); /* Poor man's congruential RN generator. Replace with ++make_temp_name_count for debugging. */ -- 2.8.0.rc3.922.g2bcc146 --AWniW0JNca5xppdA-- From unknown Fri Jun 20 07:28:00 2025 X-Loop: help-debbugs@gnu.org Subject: bug#24044: [PATCH] fileio.c: introduce make_temp_name_buf Resent-From: Noam Postavsky Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 21 Oct 2017 23:51:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 24044 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alexnader Kuleshov Cc: 24044@debbugs.gnu.org Received: via spool by 24044-submit@debbugs.gnu.org id=B24044.150862984724736 (code B ref 24044); Sat, 21 Oct 2017 23:51:02 +0000 Received: (at 24044) by debbugs.gnu.org; 21 Oct 2017 23:50:47 +0000 Received: from localhost ([127.0.0.1]:54764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e63XS-0006Qp-Uj for submit@debbugs.gnu.org; Sat, 21 Oct 2017 19:50:47 -0400 Received: from mail-io0-f176.google.com ([209.85.223.176]:44007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e63XR-0006QY-HM; Sat, 21 Oct 2017 19:50:45 -0400 Received: by mail-io0-f176.google.com with SMTP id 134so16691062ioo.0; Sat, 21 Oct 2017 16:50:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=kF3EKc+jsHND7P2S7wHSThWr8W5zPVet5c5lKkF6cHc=; b=HVqrJ5bio8GFFiRjb2RVCCCI5UtqdjTUABB6+LqW3eitbPfNBuoLMAX9iIq2CZJs+a b/fAoYKJFowN+XcPXsJoYvaofyltpF0gr+6Ir7ReyN8Py1lWpm6QBPs5h3gMUzV1JpaB tsRT/F0fS8ldgfkrDbbKHSBlTOJuZINSLpWBfqDywOW0+xQnU6hsyubp7DQNHNMGK975 Y0n0jqRZYNQwhBpsJJaeNg1RRNEQ4kZJwVBv44U+5x4mZpFNjNQPNgyvB0XeAoHE11bz vI9f2YQwAEjkDntwmVgQqz6wovGBMXUUIZ4k7Lm5Kfm1s0VBBNsiOQ6CErA6Ftdtx2SB 1Stg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:references:date :in-reply-to:message-id:user-agent:mime-version; bh=kF3EKc+jsHND7P2S7wHSThWr8W5zPVet5c5lKkF6cHc=; b=SDL8fKWFThRnTfu8RUAOy8+J3xl9Q/rMJhTZ1H0E1s8KjTRh6/jbOvBcMY7VQEkCuq 47M0IvlbO4orD9mMotW1ZoJxJVC3Bz4TwwRDIg9VLObtd/qt/1wdS5XSVKKVFJKRF8cY zosnBlVcSf2Y1m1IQmBu4N3CvL+EXaaXXaCBHOBPt8Rs+yO8v/ZGhSvFoKMtDeCbKgmx bOh2JH8l4ghrjBdcDigM1734N+lGJGrTJB9tmS8vk+WNO8MmLnxLaBSG7TGVcfPpnLRk 8Dj6y3KbsUNTORjZSqXj8B+W+JBj+rfZwq4UYHg1G6Cuyncpxxk4WMkPyYFNr3fZqwXo MYLg== X-Gm-Message-State: AMCzsaVLBuABaYllZw6TFJlPU0ZGL+8OotjExg2hliSKDXxpEO6uiwpE z5J33o4wIUqBk8bHjpEBrzMMEA== X-Google-Smtp-Source: ABhQp+R70G3lO7kLFSPDMFNYfOlC3QgQ5bZG858taJGvUsCDbGJMqblwzbZOcXwC73czXYaZFx2Hgw== X-Received: by 10.107.6.217 with SMTP id f86mr11610464ioi.5.1508629839649; Sat, 21 Oct 2017 16:50:39 -0700 (PDT) Received: from zebian ([45.2.119.34]) by smtp.googlemail.com with ESMTPSA id j193sm928647ita.9.2017.10.21.16.50.37 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 21 Oct 2017 16:50:38 -0700 (PDT) From: Noam Postavsky References: <20160721100221.GA27186@localhost> Date: Sat, 21 Oct 2017 19:50:36 -0400 In-Reply-To: <20160721100221.GA27186@localhost> (Alexnader Kuleshov's message of "Thu, 21 Jul 2016 16:02:21 +0600") Message-ID: <87wp3ocb77.fsf@users.sourceforge.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.1 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.1 (--) close 24044 quit Alexnader Kuleshov writes: > Attached patch introduces make_temp_name_buf() function which will do > this functionality and allows to avoid > code duplication. > > Thank you > >>>From c58d13c750901e9f47c99dd2466e95dabb3730a1 Mon Sep 17 00:00:00 2001 > From: Alexander Kuleshov > Date: Wed, 20 Jul 2016 18:33:55 +0600 > Subject: [PATCH] fileio.c: introduce make_temp_name_buf > > * src/fileio.c: New function - make_temp_name_buf. Use it in the > make_temp_name() function. Following recent changes to the make-temp-name and related functions, this patch is no longer applicable.