SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 25/01/2019, 01:12 AM   #1
CodingArt
Little Clucker
 
Join Date: Jan 2019
Posts: 31
Reputation: 0
Default Retornar string sem precisar passar por referência

Pra quem não sabe a linguagem PAWN tem um bug com retornar strings, e pior que eu não to zoando, se você venho de outra lang vai achar isso BEM estranho, mas PAWN tem dessas, ao retornar uma string possivelmente o servidor pode crashar, infelizmente... Pra contornar isso da pra passar por referência a string, mas não acho interessante, eu já vi um cara uma vez que conseguia retornar string sem se preocupar com isso, mas não consegui descobrir como ele fez isso, então penso que quem ta a mais tempo programando a lang deve saber uma forma de ignorar esse bug maldito sem tornar nossos códigos mais "feios", porque vamo combina, passar por referência não é legal, deveria dar pra retornar strings sem se preocupar né, como qualquer outra lang.


Pra quem não conhece o bug: *Não achei o link do bug, quem tiver o link ae daquele documento no git que explica sobre o bug manda ae kkkk*

Exemplo do bug em código:

PHP Code:
funcBug()
{
     new 
string[6];
     
format(stringsizeof(string), "teste");

     return 
string//Isso aqui possivelmente poderá crashar o server, não é que VAI crashar, mas pode ser que crashe...

CodingArt is offline   Reply With Quote
Old 25/01/2019, 02:36 AM   #2
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,421
Reputation: 326
Default Re: Retornar string sem precisar passar por referência

Você pode verificar se a string tem números ou letras, se não houver você retorna como -1.
__________________
Brasil New Style
172.106.11.138:7777
ipsLuan is offline   Reply With Quote
Old 25/01/2019, 10:46 AM   #3
CodingArt
Little Clucker
 
Join Date: Jan 2019
Posts: 31
Reputation: 0
Default Re: Retornar string sem precisar passar por referência

Quote:
Originally Posted by ipsLuan View Post
Você pode verificar se a string tem números ou letras, se não houver você retorna como -1.
Você diz, usar a função strlen, correto?

E isso realmente ignora esse bug?
CodingArt is offline   Reply With Quote
Old 25/01/2019, 12:35 PM   #4
G4M30V3R
Big Clucker
 
G4M30V3R's Avatar
 
Join Date: Jun 2016
Posts: 136
Reputation: 19
Default Re: Retornar string sem precisar passar por referência

Quote:
Originally Posted by CodingArt View Post
Você diz, usar a função strlen, correto?
Não.
Strelen retorna o número de caracteres em uma string. Ele se refere à distinção de letras e números (apesar de eu não entender a relação disso com o bug).

Quote:
Originally Posted by CodingArt View Post
E isso realmente ignora esse bug?
https://forum.sa-mp.com/showthread.php?t=570960
G4M30V3R is offline   Reply With Quote
Old 25/01/2019, 01:20 PM   #5
ipsLuan
High-roller
 
ipsLuan's Avatar
 
Join Date: Feb 2013
Location: Ilhéus, BA
Posts: 4,421
Reputation: 326
Default Re: Retornar string sem precisar passar por referência

Quote:
Originally Posted by G4M30V3R View Post
Não.
Strelen retorna o número de caracteres em uma string. Ele se refere à distinção de letras e números (apesar de eu não entender a relação disso com o bug).



https://forum.sa-mp.com/showthread.php?t=570960
Nunca vi esse bug.
Mas, ele quer retornar algo, correto?
E ele só pode retornar ou números ou letras.
Só fui pela lógica.
__________________
Brasil New Style
172.106.11.138:7777
ipsLuan is offline   Reply With Quote
Old 25/01/2019, 02:01 PM   #6
rjjj
Huge Clucker
 
rjjj's Avatar
 
Join Date: Jan 2014
Location: Acre, Brasil
Posts: 256
Reputation: 203
Default Re: Retornar string sem precisar passar por referência

O bug é real sim, mas também não é pra tanto, pois ele só acontece em situações muito específicas. Desde muito tempo que vários programadores em Pawn retornam strings em funções sem nenhum problema .



https://forum.sa-mp.com/showpost.php?p=4028909



Acima, você encontra mais sobre essa discussão.



Espero ter ajudado .
__________________


rjjj is offline   Reply With Quote
Old 25/01/2019, 03:35 PM   #7
CodingArt
Little Clucker
 
Join Date: Jan 2019
Posts: 31
Reputation: 0
Default Re: Retornar string sem precisar passar por referência

Quote:
Originally Posted by rjjj View Post
O bug é real sim, mas também não é pra tanto, pois ele só acontece em situações muito específicas. Desde muito tempo que vários programadores em Pawn retornam strings em funções sem nenhum problema .

https://forum.sa-mp.com/showpost.php?p=4028909



Acima, você encontra mais sobre essa discussão.



Espero ter ajudado .
Entendi, mas me da um medo kkkkkkk, mas como vi que não é assim tão crítico irei retornar strings, é que uma vez um user fez um discurso que me deixou escamado com isso, um tal de BrunoBM16, do jeito que ele tinha falado isso é bem sério, mas pode ser que ele se enganou, sei lá......
CodingArt is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Ajuda] Usar a faggio sem precisar de licenças PetterAdriano Português/Portuguese 10 23/07/2014 04:24 AM
[Ajuda] Ir ao spawn sem precisar clicar. SkilL_Fly Português/Portuguese 5 25/06/2014 11:07 PM
[Off] Links de referencia Axll Português/Portuguese 8 05/04/2014 04:49 PM


All times are GMT. The time now is 01:13 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.