From 97587145bcd09023e8e4ac2d50203ff590ccf8cc Mon Sep 17 00:00:00 2001 From: Jephte CLAIN Date: Thu, 27 Feb 2014 11:51:46 +0400 Subject: [PATCH] ajout de unquote_mysqlcsv() --- ulib/.ulib_version | 2 +- ulib/awk | 8 ++++++++ ulib/base | 7 +++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/ulib/.ulib_version b/ulib/.ulib_version index 7273c0f..6f4247a 100644 --- a/ulib/.ulib_version +++ b/ulib/.ulib_version @@ -1 +1 @@ -25 +26 diff --git a/ulib/awk b/ulib/awk index c2ad366..4c9f8c0 100644 --- a/ulib/awk +++ b/ulib/awk @@ -56,6 +56,14 @@ quote_sql(s) quote_sql(\"hello'there\") --> 'hello''there' +unquote_mysqlcsv(s) + Analyser une valeur exportée de MySQL avec mysqlcsv. Les transformations + suivantes sont effectuées: + \\n --> + \\t --> + \\0 --> + \\\\ --> \\ + mkindices(values, indices) créer le tableau indices qui contient les indices du tableau values, de 1 à N, et retourner la valeur N. Il faudra utiliser les valeurs de cette manière: diff --git a/ulib/base b/ulib/base index b5fd9aa..bd682ed 100644 --- a/ulib/base +++ b/ulib/base @@ -1978,6 +1978,13 @@ function quote_sql(s) {'" gsub(/'/, \"''\", s) return \"'\" s \"'\" "'} +function unquote_mysqlcsv(s) { + gsub(/\\n/, "\n", s) + gsub(/\\t/, "\t", s) + gsub(/\\0/, "\0", s) + gsub(/\\\\/, "\\", s) + return s +} function array_new(dest) { dest[0] = 0 # forcer awk à considérer dest comme un tableau delete dest