Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3242 connectés 

 


 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  383  384  385  ..  1454  1455  1456  1457  1458  1459
Auteur Sujet :

blabla@web

n°1635279
Dj YeLL
$question = $to_be || !$to_be;
Posté le 01-11-2007 à 22:41:48  profilanswer
 

Reprise du message précédent :

masklinn a écrit :


J'ai pas besoin d'être énervé pour te traiter de sac à foutre rétrograde méritant d'être pendu à un arbre par ses gonades tu sais.


 
Faut pas abuser non plus ... je suis pas rétrograde [:thalis]


---------------
Gamertag: CoteBlack YeLL
mood
Publicité
Posté le 01-11-2007 à 22:41:48  profilanswer
 

n°1635281
The-Shadow
T'as été voir dans ton profil?
Posté le 01-11-2007 à 22:47:05  profilanswer
 

masklinn a écrit :


Aucun rapport, ça c'est parce que j'ai collé direct ton truc, et que le JS parse "\ " comme " " (un espace backslashé). Si je met "\\" dans la chaîne à traduire au lieu de "\" ça me renvoie bien une chaîne avec un antislash:

>>> "\ "
" "
>>> "\\ "
"\ "



[:stefro]

n°1635286
mIRROR
Chevreuillobolchévik
Posté le 01-11-2007 à 23:07:06  profilanswer
 

The-Shadow a écrit :

Code :
  1. var str="[ url=http://www.hardware.fr]Hardware[/url] \ [ url=http://www.lohlwee.org]Alone With Lohlwee[/url]";




 
bah y a aucun probleme :??:
mais vire tes drapals hein (je pense surtout au "g" )
 

mIRROR a écrit :

t as qu a pas mettre de \ dans tes url stou [:thalis]


 
euh t es con moi [:osweat]


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1635289
mIRROR
Chevreuillobolchévik
Posté le 01-11-2007 à 23:12:37  profilanswer
 

p[url=http://zut.lol\\prout.failed/haha.comtruc@lol]sum dol\or sit amet, cons[/url]ecte\tuer ad[url]ipiscing elit.[/url] N

 

me retourne

 
Code :
  1. p<a href="http://zut.lol%5C%5Cprout.failed/haha.comtruc@lol">sum dol\or sit amet, cons</a>ecte\tuer ad<a href="ipiscing%20elit.">ipiscing elit.</a> N


Message édité par mIRROR le 01-11-2007 à 23:13:15

---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1635294
gatsu35
Blablaté par Harko
Posté le 01-11-2007 à 23:36:57  profilanswer
 

au dodo mon barbu :o

n°1635295
mIRROR
Chevreuillobolchévik
Posté le 01-11-2007 à 23:42:14  profilanswer
 

non [:thalis]


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1635444
Chaos Inte​stinal
Posté le 02-11-2007 à 12:20:17  profilanswer
 

masklinn a écrit :


Je veux dire que ces séparateurs ne servent absolument à rien, c'est une chaîne de caractère, il prend toute la chaîne de caractère et c'est tout. Encore un truc importé sans comprendre à quoi ça servait (de SED ce coup ci)


Ouais, et encore une critique gratuite de PHP de ta part sans savoir de quoi tu parlais [:bien]
 

n°1635447
Shinuza
This is unexecpected
Posté le 02-11-2007 à 12:22:15  profilanswer
 

Chaos Intestinal a écrit :


Ouais, et encore une critique gratuite de PHP de ta part sans savoir de quoi tu parlais [:bien]
 


Bah quoi, il a le droit, php stoo caca [:chrisbk]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1635459
masklinn
í dag viðrar vel til loftárása
Posté le 02-11-2007 à 12:36:43  profilanswer
 

Chaos Intestinal a écrit :

Ouais, et encore une critique gratuite de PHP de ta part sans savoir de quoi tu parlais [:bien]


Gratuite? Oui. En attendant, j'aimerais qu'on me dise à quoi ils servent ces séparateurs, la seule chose que je vois c'est "ajouter les flags", et franchement il y a bien des moyens de le faire autrement sans ajouter du bruit dans la chaîne.
 
C'est comme le préfix "$", un truc débile récupéré sans piger à quoi ça servait à l'origine. Dans un more, un vi, un sed ou un ed ça sert explicitement à dire "ceci est une expression régulière". En PHP, je vois pas l'intérêt, aux dernières nouvelles preg_* prennent des regexp, c'est marqué dans le nom de la fonction (c'est ce que veut dire preg, aux dernières nouvelles), pas besoin de leur répêter, donc.
 
Maintenant si pour une fois t'as une vraie justification au lieu de juste me dire que t'es pas mon pote, n'hésite pas, j'écoute. Sinon, prière de retourner jouer dans ton bac à sable.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1635464
Chaos Inte​stinal
Posté le 02-11-2007 à 12:39:29  profilanswer
 

1 ligne de taunt pour un pâté de 7 lignes, c'est vraiment trop facile avec toi [:hahaguy]

mood
Publicité
Posté le 02-11-2007 à 12:39:29  profilanswer
 

n°1635467
Shinuza
This is unexecpected
Posté le 02-11-2007 à 12:42:01  profilanswer
 

Chaos Intestinal a écrit :

1 ligne de taunt pour un pâté de 7 lignes, c'est vraiment trop facile avec toi [:hahaguy]


 :non: Dépends de la résolution


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1635470
Chaos Inte​stinal
Posté le 02-11-2007 à 12:43:46  profilanswer
 

Shinuza a écrit :

:non: Dépends de la résolution


 
J'aurais pu compter les mots, mais un troll doit être issu d'une somme limitée d'efforts, sinon ça n'a plus aucun intérêt :o

n°1635471
Shinuza
This is unexecpected
Posté le 02-11-2007 à 12:46:00  profilanswer
 

Chaos Intestinal a écrit :


 
J'aurais pu compter les mots, mais un troll doit être issu d'une somme limitée d'efforts, sinon ça n'a plus aucun intérêt :o


[:hahaguy] Va dire ça à Mareek [:hahaguy]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1635480
theredled
● REC
Posté le 02-11-2007 à 12:59:02  profilanswer
 

[SQL]
 
Ya un moyen de créer une table de toutes pièces dans une requete, genre
 

Code :
  1. SELECT t.* FROM (4, 78, 12) AS t


Enfin pas ça, mais un truc dans le genre quoi :o


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1635491
FlorentG
Posté le 02-11-2007 à 13:25:06  profilanswer
 

masklinn a écrit :

Maintenant si pour une fois t'as une vraie justification au lieu de juste me dire que t'es pas mon pote, n'hésite pas, j'écoute. Sinon, prière de retourner jouer dans ton bac à sable.


Moi j'ai une parfaite justification [:dawa] Le parser/compilo de PHP n'a aucune notion des regexp. Toute la partie regexp est fournie par la lib PCRE, on peut très bien compiler PHP sans cette dernière.

n°1635519
theredled
● REC
Posté le 02-11-2007 à 14:01:45  profilanswer
 

Vous avez pas fini d'enculer des mouches depuis 4 pages là :o
 
En plus chui sûr que vous avez les réponses à ma question [:sisicaivrai]


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1635523
Shinuza
This is unexecpected
Posté le 02-11-2007 à 14:06:48  profilanswer
 

Ta question c'est comme php, c'est de la merde!


Message édité par Shinuza le 02-11-2007 à 14:10:56

---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1635524
masklinn
í dag viðrar vel til loftárása
Posté le 02-11-2007 à 14:08:56  profilanswer
 

FlorentG a écrit :


Moi j'ai une parfaite justification [:dawa] Le parser/compilo de PHP n'a aucune notion des regexp. Toute la partie regexp est fournie par la lib PCRE, on peut très bien compiler PHP sans cette dernière.


Perdu, prochaine tentative.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1635528
uriel
blood pt.2
Posté le 02-11-2007 à 14:14:00  profilanswer
 

quelqu'un a le gif de 'how a web site should be designed" ou un truc comme ça, c'est passé sur reddit je crois (mais leure recherche suce des ours).
 
 on voit un site fait a partir de scratch...


---------------
IVG en france
n°1635576
theredled
● REC
Posté le 02-11-2007 à 15:23:42  profilanswer
 

php, c'est vraiment cool.


---------------
Contes de fées en yaourt --- --- zed, souviens-toi de ma dernière lettre. --- Rate ta musique
n°1635581
omega2
Posté le 02-11-2007 à 15:36:55  profilanswer
 

masklinn a écrit :


Gratuite? Oui. En attendant, j'aimerais qu'on me dise à quoi ils servent ces séparateurs, la seule chose que je vois c'est "ajouter les flags", et franchement il y a bien des moyens de le faire autrement sans ajouter du bruit dans la chaîne.
 
C'est comme le préfix "$", un truc débile récupéré sans piger à quoi ça servait à l'origine. Dans un more, un vi, un sed ou un ed ça sert explicitement à dire "ceci est une expression régulière". En PHP, je vois pas l'intérêt, aux dernières nouvelles preg_* prennent des regexp, c'est marqué dans le nom de la fonction (c'est ce que veut dire preg, aux dernières nouvelles), pas besoin de leur répêter, donc.
 
Maintenant si pour une fois t'as une vraie justification au lieu de juste me dire que t'es pas mon pote, n'hésite pas, j'écoute. Sinon, prière de retourner jouer dans ton bac à sable.

Si tu parles des $ qui précèdent un chiffre dans le deuxième argument de preg, ça sert juste à indiquer que c'est ici que doit être inséré le texte correspondant au couple de parenthèse numéro n de la regexp.
Si tu parles du $ du premier paramètre, il indique la fin de ligne (idem en perl)
 
Si tu parles du $ de la version javascript, je ne vois pas le rapport avec le php.
 
Si tu parles d'un autre $ alors du quel tu parles? (un exemple stp qu'on parle tous du même cas )

Message cité 1 fois
Message édité par omega2 le 02-11-2007 à 15:37:41
n°1635589
masklinn
í dag viðrar vel til loftárása
Posté le 02-11-2007 à 15:48:56  profilanswer
 

omega2 a écrit :

Si tu parles d'un autre $ alors du quel tu parles? (un exemple stp qu'on parle tous du même cas )


Du préfix $ des noms de variable PHP. (et oui je sais qu'en réalité c'est un espèce d'opérateur disant "va récupérer le contenu de la variable dont le nom est la chaîne de caractère machintruc, mais bon...)


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1635592
WiiDS
20 titres en GC, 0 abandon, 0 DQ
Posté le 02-11-2007 à 15:50:48  profilanswer
 

Au bout d'un moment, on s'en fout que la sémantique de PHP soit toute pourrite non ?


---------------
"I can cry like Roger. It's just a shame I can't play like him" - Andy Murray, 2010
n°1635594
Dj YeLL
$question = $to_be || !$to_be;
Posté le 02-11-2007 à 15:52:21  profilanswer
 

masklinn a écrit :


Du préfix $ des noms de variable PHP. (et oui je sais qu'en réalité c'est un espèce d'opérateur disant "va récupérer le contenu de la variable dont le nom est la chaîne de caractère machintruc, mais bon...)


 
 
Ouaip, d'où $toto :
va chercher le contenu de la variable dont le nom est {toto}
 
Et d'où $$$$$$$$$$$$$$$$$$$$toto :
 
va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {va chercher le contenu de la variable dont le nom est {toto}}}}}}}}}}}}}}}}}}}}
 
:whistle:


---------------
Gamertag: CoteBlack YeLL
n°1635599
Jubijub
Parce que je le VD bien
Posté le 02-11-2007 à 15:57:59  profilanswer
 

en fait je pense que c criminel de laisser de gens apprendre le PHP si ils ont pas appris un langage propre avant, parce que c'est la porte ouverte à la merde la plus infame :o


---------------
Jubi Photos : Flickr - 500px
n°1635601
FlorentG
Posté le 02-11-2007 à 16:03:16  profilanswer
 

masklinn a écrit :

Du préfix $ des noms de variable PHP. (et oui je sais qu'en réalité c'est un espèce d'opérateur disant "va récupérer le contenu de la variable dont le nom est la chaîne de caractère machintruc, mais bon...)


Pour le préfixe $, c'est parfaitement normal, c'est by design. Comme à la base, un script est parsé et compilé à chaque fois, le parseur doit être super-ultra rapide.
 
Imagine tu vires les $. Et t'as le code suivant :

Code :
  1. pouet1 = 'truc'; // Variable
  2. define('pouet2', 'truc'); // Constante
  3. bidule(pouet1);
  4. bidule(pouet2);


Là, pour chaque identifiant (pouet & bidule), le parser doit chercher si c'est une variable, une constante, etc. Avec un $, plus d'ambiguité :

Code :
  1. $pouet = 'truc';
  2. define('pouet2', 'truc');
  3. bidule($pouet1);
  4. bidule(pouet2);


Avec le $, le parser sait tout de suite que c'est une variable. C'est donc plus speed.
 
 
Alors évidemment ça peut se justifier dans notre cas. Mais y'avait plus simple, utiliser un opcode-cache. Dans un environnement web, avec des centaines de requêtes par secondes à fournir, faut quand-même être le dernier des naze pour parser/compiler le soft à chaque fois :(. Et ils ont *enfin* eu l'idée, avec PHP6, de livrer un opcode-cache en standard, du coup toutes ces pseudo-optimisation ne sont plus nécessaires
 
Le plus relou, est que pour que le parser soit plus rapide, un token ne peut avoir qu'une utilisation. C'est pour ça que dans la gestion des namespaces, il n'ont pas pu utiliser le point :

Code :
  1. namespace machin.bidule.pouet; // FAIL


Pour PHP, le point ne peut être que l'opérateur de concaténation, et rien d'autre. Alors ils ont dû utiliser ::, un des seul token encore libres...

n°1635604
masklinn
í dag viðrar vel til loftárása
Posté le 02-11-2007 à 16:08:37  profilanswer
 

FlorentG a écrit :


Pour le préfixe $, c'est parfaitement normal, c'est by design


Genre PHP a un design, n'importe quoi [:facepalm]

 
FlorentG a écrit :

Comme à la base, un script est parsé et compilé à chaque fois, le parseur doit être super-ultra rapide.


Mais ouais, il est bien connu que le parser Python est à la ramasse \o/

 
FlorentG a écrit :

Là, pour chaque identifiant (pouet & bidule), le parser doit chercher si c'est une variable, une constante, etc.


Non, parce que ce sont tous des noms vivant dans le même namespace, et là paf le lookup se fait dans un dict de scope \o/

 

Et vu que PHP n'a que 2 scopes (local et global), lookup en O(1) \o/

FlorentG a écrit :

Alors évidemment ça peut se justifier dans notre cas.


non.

Message cité 1 fois
Message édité par masklinn le 02-11-2007 à 16:09:21

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1635605
Chaos Inte​stinal
Posté le 02-11-2007 à 16:11:13  profilanswer
 

C'est clair que niveau design, PHP fait penser à des choses comme Linux, très "garage days", mais éternellement bloqués au stade de l'adolescence, des crises existentielles emo et des boutons d'acné.

n°1635608
FlorentG
Posté le 02-11-2007 à 16:15:47  profilanswer
 

masklinn a écrit :

Mais ouais, il est bien connu que le parser Python est à la ramasse \o/


Je ne parle pas en connaissance de cause d'autres parsers. Y'en a sûrement des plus speeds, en tout cas le Zend Engine 2 est fait comme ça. Ils ont cru bon d'essayer de speeder le plus possible leur parser, maintenant c'est parfaitement possible qu'ils aient fait n'importe quoi [:dawa]
 

masklinn a écrit :

et là paf le lookup se fait dans un dict de scope \o/


Ben pour eux ça devait déjà être trop long un simple lookup.  
 
 
Y'a une autre explication, c'est quand l'autre a torché sa toute première version de PHP, il avait pas envie de se faire chier à faire un parser complet, ou il n'avait tout simplement pas les compétences de le faire, alors hop on prefixe tout et n'importe quoi, et c'est moins chiant à écrire... Va savoir, maintenant de toute manière c'est cuit :(

n°1635609
Dj YeLL
$question = $to_be || !$to_be;
Posté le 02-11-2007 à 16:18:30  profilanswer
 

Jubijub a écrit :

en fait je pense que c criminel de laisser de gens apprendre le PHP si ils ont pas appris un langage propre avant, parce que c'est la porte ouverte à la merde la plus infame :o


 
 
Clair


---------------
Gamertag: CoteBlack YeLL
n°1635610
masklinn
í dag viðrar vel til loftárása
Posté le 02-11-2007 à 16:21:08  profilanswer
 

FlorentG a écrit :

Y'en a sûrement des plus speeds, en tout cas le Zend Engine 2 est fait comme ça.


Ah mais je ne doute pas que le parseur PHP soit fait n'importe comment, quand on part du principe qu'avoir une grammaire du langage c'est pas utile et qu'un parser ad-hoc c'est génial...

FlorentG a écrit :

Ben pour eux ça devait déjà être trop long un simple lookup.


Ou alors ils se sont pas posé la question

FlorentG a écrit :

Y'a une autre explication, c'est quand l'autre a torché sa toute première version de PHP, il avait pas envie de se faire chier à faire un parser complet, ou il n'avait tout simplement pas les compétences de le faire, alors hop on prefixe tout et n'importe quoi, et c'est moins chiant à écrire... Va savoir, maintenant de toute manière c'est cuit :(


Ou alors les premières versions de PHP étaient des jeux de macros perl (c'est le cas) et le préfixe est resté sans raison particulière, après tout c'est pas parce qu'il a un sens en Perl qu'il est obligé d'en avoir un en php \o/


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1635613
omega2
Posté le 02-11-2007 à 16:26:04  profilanswer
 

D'un autre côté, le $ en début de nom de variable est il si gênant que ça? Que je sache, c'est pas par ce qu'un caractère n'a aucune signification dans un langage qu'il ne doit pas en avoir dans d'autres.
Après est ce qu'en terme de rapidité ça rend l'ensemble plus rapide ou moins rapide, ça je l'ignore.

n°1635614
FlorentG
Posté le 02-11-2007 à 16:28:57  profilanswer
 

Et voilà, on a trouvé [:dawa]

n°1635615
Chaos Inte​stinal
Posté le 02-11-2007 à 16:29:03  profilanswer
 

Le problème c'est pas qu'ils soit gênant ou pas. Un langage ne devrait pas avoir d'éléments superflus dans sa grammaire, qui devrait être la plus simple possible.

n°1635618
FlorentG
Posté le 02-11-2007 à 16:35:49  profilanswer
 

Voilà un bout de code de la toute première version de PHP, jamais sortie :

Code :
  1. <!--getenv HTTP_USER_AGENT-->
  2.   <!--ifsubstr $exec_result Mozilla-->
  3.   Hey, you are using Netscape!<p>
  4.   <!--endif-->
  5.   <!--sql database select * from table where user='$username'-->
  6.   <!--ifless $numentries 1-->
  7.   Sorry, that record does not exist<p>
  8.   <!--endif exit-->
  9.   Welcome <!--$user-->!<p>
  10.   You have <!--$index:0--> credits left in your account.<p>
  11.   <!--include /text/footer.html-->


Les $ étaient déjà là, à tous les coups il les a mis pour les parser/différencier plus facilement... Le problème c'est que ça a survécu au fil des versions...

n°1635624
FlorentG
Posté le 02-11-2007 à 16:42:58  profilanswer
 

J'ai trouvé le code source de PHP 1.08, les $ sont clairement là pour indiquer une valeur "magique", à remplacer par autre chose. Genre :

Code :
  1. if(!strncasecmp(s,"$total",6)) {
  2.    printf("%d",cnt);
  3.   } else if(!strncasecmp(s,"$today",6)) {
  4.    printf("%d",todays_cnt);
  5.   } else if(!strncasecmp(s,"$lasttime",9)) {
  6.    printf("%s",lasttime);
  7.   } else if(!strncasecmp(s,"$lastuser",9)) {
  8.    printf("%s",lastuser);
  9.   } else if(!strncasecmp(s,"$modtime",8)) {
  10.    printf("%s",modtime);
  11.   } else if(!strncasecmp(s,"$version",8)) {
  12.    printf("%s",VERSION);
  13.   } else if(!strncasecmp(s,"$email",6)) {
  14.    printf("%s",email_addr);
  15.   } else if(!strncasecmp(s,"$plusemail",6)) {
  16.    if(email_addr && strlen(email_addr)) printf("+%s",email_addr);
  17.   } else if(!strncasecmp(s,"$http_referer",13)) {
  18.    printf("%s",referer);
  19.   } else if(!strncasecmp(s,"$browser",8)) {
  20.    printf("%s",agent);
  21.   } else if(!strncasecmp(s,"$short_browser",14)) {
  22.    printf("%s",short_agent);
  23.   } else if(!strncasecmp(s,"$filename",9)) {
  24.    printf("%s",raw_file);
  25.   }

n°1635626
Chaos Inte​stinal
Posté le 02-11-2007 à 16:45:48  profilanswer
 

A une étape de sa croissance (au pif, php4), il aurait fallu une refonte complète, pour en faire un langage mature. Il manque à PHP quelqu'un avec une vision. Il manque à PHP un Guido :o

n°1635628
FlorentG
Posté le 02-11-2007 à 16:47:21  profilanswer
 

Chaos Intestinal a écrit :

A une étape de sa croissance (au pif, php4), il aurait fallu une refonte complète, pour en faire un langage mature. Il manque à PHP quelqu'un avec une vision. Il manque à PHP un Guido :o


C'est exactement ça. Rasmus Lerdorf a fait son truc dans son coin, pour lui. Des gens lui ont demandé de rajouter des features, ce qu'il a fait. C'est alors que deux gars lui ont proposé de tout refondre, ce qui a donné la société Zend, le Zend Engine, et PHP3... C'est exactement à ce moment qu'il aurait fallu tout reprendre, mais nan [:johneh]

n°1635632
Chaos Inte​stinal
Posté le 02-11-2007 à 16:53:23  profilanswer
 

Code :
  1. buf2=SubVar('$',pdcur->var,pdcur->val,buf2,&bufsize);


 

Code :
  1. /*
  2. * SubVar
  3. *
  4. * This function substitutes variables designated by the leading separator (sep)
  5. * with values with matching names.  The string buffer will be realloced in 512-byte
  6. * chunks if needed.
  7. */
  8. char *SubVar(char sep, char *var_name, char *var_value, char *oldbuf, int *bufsize) {
  9.    char *buf, *s, *t;
  10.    int l, n;
  11.    char o;
  12.    char *local_buf;
  13. #if MSQL
  14.     char *u;
  15.     int i,j;
  16.    int numi, numj;
  17.    char temp[1024];
  18.    m_result *result=NULL;
  19.    m_row record;
  20.    int new_connection=0;
  21. #endif
  22.  
  23.    l=strlen(oldbuf);
  24.    n=strlen(var_value);
  25.  
  26.    if(l-(int)strlen(var_name)-1+(int)strlen(var_value) >(int)(*bufsize-1)) {
  27.  
  28. #if DEBUG
  29.        fprintf(fperr,"Query buffer re-allocated\n" );
  30.        fflush(fperr);
  31. #endif
  32.  
  33.        buf=realloc(oldbuf,*bufsize+((n>512)?n:512));
  34.        *bufsize+=((n>512)?n:512);
  35.    } else buf=oldbuf;
  36.  
  37.    /* I don't trust strdup() on many systems */
  38.    local_buf=malloc(*bufsize*sizeof(char));
  39.    strcpy(local_buf,buf);
  40.  
  41.    if(!local_buf) {
  42.        html_error("FI Error","Unable to allocate memory" );
  43.        exit(-1);
  44.    }
  45.    s=local_buf;
  46.  
  47.    while(*s!='\0') {
  48.        if(*s==sep) {
  49.            if(s>local_buf && *(s-1)=='\\') {  /* Allow for escaping the separator */
  50.                s++;
  51.                continue;
  52.            }
  53.            n=strcspn(s+1," ,()'\n:;.{}[]-+=~!@#$%^*<>\"" );
  54.  
  55.            t=s+n+1;
  56.            o=*t;
  57.            *t='\0';
  58.            if(!strcasecmp(var_name,s+1)) {
  59.                *s='\0';
  60. #if MSQL
  61.                if(!strcasecmp(var_name,"sql" )) {
  62.                    /* looking for database name */
  63.  
  64. #if DEBUG
  65.                    fprintf(fperr,"var_name=[%s], var_value=[%s]\n",var_name,var_value);
  66.                    fflush(fperr);
  67. #endif
  68.  
  69.                    u=strchr(var_value,' ');
  70.                    if(u) {
  71.                        *u='\0';
  72.                        if(strlen(current_db)==0) {
  73.                            if(dbsock==-1) {
  74.                                dbsock=msqlConnect(NULL);
  75.                                new_connection=1;
  76.                            }
  77.                            if(msqlSelectDB(dbsock,var_value)<0) {
  78.                                strcpy(temp,msqlErrMsg);
  79.                                current_db[0]='\0';
  80.                            } else {
  81.                                strcpy(current_db,var_value);
  82.                            }
  83.                        }
  84.                        if(msqlQuery(dbsock,u+1)<0) strcpy(temp,msqlErrMsg);
  85.                        else {
  86.                            temp[0]='\0';
  87.                            msqlStoreResult(result);
  88.                            numi=msqlNumRows(result);
  89.                            for(i=0;i<numi;i++) {
  90.                                if(strlen(before_record)) strcat(temp,before_record);
  91.                                msqlDataSeek(result,i);
  92.                                numj=msqlNumFields(result);
  93.                                record=msqlFetchRow(result);
  94.                                for(j=0;j<numj;j++) {
  95.                                    if(strlen(before_element)) strcat(temp,before_element);
  96.                                    strcat(temp,record[j]);
  97.                                    if(strlen(after_element)) strcat(temp,after_element);
  98.                                }
  99.                                if(strlen(after_record)) strcat(temp,after_record);
  100.                            }
  101.                            msqlFreeResult(result);
  102.                            if(new_connection) {
  103.                                msqlClose(dbsock);
  104.                                dbsock=-1;
  105.                                current_db[0]='\0';
  106.                            }
  107.                        }
  108.                    }
  109.                }
  110. #endif
  111.                sprintf(buf,"%s%s%c%s",local_buf,var_value,o,t+1);
  112.                strcpy(local_buf,buf);
  113.            } else {
  114.                *t=o;
  115.            }
  116.            s=t+1;
  117.        } else s++;
  118.    }
  119.    free(local_buf);
  120.    return(buf);
  121. }


 
Finalement, il aurait pu mettre autre chose qu'un dollar, je sais pas moi, un euro par exemple [:moule_bite]

n°1635635
masklinn
í dag viðrar vel til loftárása
Posté le 02-11-2007 à 16:57:58  profilanswer
 

Chaos Intestinal a écrit :

A une étape de sa croissance (au pif, php4), il aurait fallu une refonte complète, pour en faire un langage mature.


Ouaip, soit PHP4 avec la création du Zend Engine soit PHP3 avec la première réécriture du code.

Chaos Intestinal a écrit :

Il manque à PHP quelqu'un avec une vision. Il manque à PHP un Guido :o


Il n'y a pas que ça qu'il leur manque (je me souviens d'un fix épique d'un bug d'integer overflow dans PHP, mais j'arrive pas à retrouver le récit)


Message édité par masklinn le 02-11-2007 à 17:17:58

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1635643
Jubijub
Parce que je le VD bien
Posté le 02-11-2007 à 17:17:37  profilanswer
 

miam ...la bonne requete SQL dans le bousin...


---------------
Jubi Photos : Flickr - 500px
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  383  384  385  ..  1454  1455  1456  1457  1458  1459

Aller à :
Ajouter une réponse
 

Sujets relatifs
blabla 3blabla 2
PUTAIN HARKO TU AS FERM2 BLABLA ![Beaucoup de blabla pour rien : post à effacer] Compiler .bat
variable1="blabla + variable2 +blala : c'est possible ??[PHP & regex] "blabla blabla file.ext?point=444 blabla" Recupérer 444
mail("celine@hotmail.com"," sujet","blabla"); pose une err ! Help[MySQL] WHERE 'blabla' compris dans le champ truc
[blabla@olympe] Le topic du modo, dieu de la fibre et du monde[PHP / BlaBla - limite]
Plus de sujets relatifs à : blabla@web


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)